<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.5"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>SWM34S_LVGL7.11_SWMUI: C:/Users/DELL/Desktop/Commit/lvgl/SWM34S_LVGL7.11_SWMUI_20230515/APP/UI/ui_update.c 文件参考</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">SWM34S_LVGL7.11_SWMUI<span id="projectnumber">&#160;V7.9</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.9.5 -->
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_0ca16891106f5a3e9ad635a0d6c5f98f.html">APP</a></li><li class="navelem"><a class="el" href="dir_c78dc1806c68fd338fba226975244931.html">UI</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">结构体</a> &#124;
<a href="#define-members">宏定义</a> &#124;
<a href="#typedef-members">类型定义</a> &#124;
<a href="#enum-members">枚举</a> &#124;
<a href="#func-members">函数</a> &#124;
<a href="#var-members">变量</a>  </div>
  <div class="headertitle"><div class="title">ui_update.c 文件参考</div></div>
</div><!--header-->
<div class="contents">

<p>启动引导更新页, 挂载文件系统实现 UI 素材导入/更新(可选模块)  
<a href="#details">更多...</a></p>
<div class="textblock"><code>#include &quot;lvgl.h&quot;</code><br />
<code>#include &quot;<a class="el" href="bsp__init_8h_source.html">bsp_init.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="load__file_8h_source.html">load_file.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="file__table_8h_source.html">file_table.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="userboot_8h_source.html">userboot.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="_mass_storage_8h_source.html">MassStorage.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="ui__update_8h_source.html">ui_update.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="log_8h_source.html">log.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="version_8h_source.html">version.h</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
ui_update.c 的引用(Include)关系图:</div>
<div class="dyncontent">
<div class="center"><img src="ui__update_8c__incl.png" border="0" usemap="#a_c_1_2_users_2_d_e_l_l_2_desktop_2_commit_2lvgl_2_s_w_m34_s___l_v_g_l7_811___s_w_m_u_i__20230515_2_a_p_p_2_u_i_2ui__update_8c" alt=""/></div>
<map name="a_c_1_2_users_2_d_e_l_l_2_desktop_2_commit_2lvgl_2_s_w_m34_s___l_v_g_l7_811___s_w_m_u_i__20230515_2_a_p_p_2_u_i_2ui__update_8c" id="a_c_1_2_users_2_d_e_l_l_2_desktop_2_commit_2lvgl_2_s_w_m34_s___l_v_g_l7_811___s_w_m_u_i__20230515_2_a_p_p_2_u_i_2ui__update_8c">
<area shape="rect" title="启动引导更新页, 挂载文件系统实现 UI 素材导入/更新(可选模块)" alt="" coords="2117,5,2335,75"/>
<area shape="rect" title=" " alt="" coords="1227,123,1278,148"/>
<area shape="rect" href="bsp__init_8h.html" title="板级硬件外设初始化" alt="" coords="1303,123,1381,148"/>
<area shape="rect" href="version_8h.html" title="版本/目标控制" alt="" coords="1547,269,1620,295"/>
<area shape="rect" href="load__file_8h.html" title="加载/拷贝文件" alt="" coords="2375,196,2455,221"/>
<area shape="rect" href="file__table_8h.html" title="以文件表管理 SPI&#45;Flash 存储的文件" alt="" coords="2453,123,2537,148"/>
<area shape="rect" href="userboot_8h.html" title="IAP 实现 UserBoot 功能" alt="" coords="2295,123,2378,148"/>
<area shape="rect" href="_mass_storage_8h.html" title=" " alt="" coords="2131,196,2241,221"/>
<area shape="rect" href="ui__update_8h.html" title="启动引导更新页, 挂载文件系统实现 UI 素材导入/更新(可选模块)" alt="" coords="2181,123,2271,148"/>
<area shape="rect" href="log_8h.html" title="日志打印/用户提示(告警)" alt="" coords="2581,123,2631,148"/>
<area shape="rect" title=" " alt="" coords="1665,343,1752,368"/>
<area shape="rect" href="dev__systick_8h.html" title="系统滴答定时器" alt="" coords="1695,196,1797,221"/>
<area shape="rect" href="dev__uart_8h.html" title="调试日志串口打印" alt="" coords="1821,196,1903,221"/>
<area shape="rect" href="dev__bod_8h.html" title="低电压触发配置" alt="" coords="1898,269,1978,295"/>
<area shape="rect" href="dev__rtc_8h.html" title="RTC 在线计时(No VBAT)" alt="" coords="2002,269,2077,295"/>
<area shape="rect" href="dev__crc_8h.html" title="硬件 CRC" alt="" coords="479,269,557,295"/>
<area shape="rect" href="dev__sfc_8h.html" title="SPI&#45;Flash Control 硬件专用高速模块" alt="" coords="1797,269,1873,295"/>
<area shape="rect" href="dev__sdram_8h.html" title="芯片内置 SDRAM" alt="" coords="624,269,719,295"/>
<area shape="rect" href="dev__sdio_8h.html" title="SDIO 驱动 SD 卡" alt="" coords="753,269,835,295"/>
<area shape="rect" href="dev__jpeg_8h.html" title="JPEG 硬件解码" alt="" coords="630,196,713,221"/>
<area shape="rect" href="dev__dac_8h.html" title="DAC 音频播放" alt="" coords="1135,269,1215,295"/>
<area shape="rect" href="dev__lcd_8h.html" title="LCD 驱动显示" alt="" coords="1248,269,1324,295"/>
<area shape="rect" href="dev__touch_8h.html" title="TP 触摸设备驱动层" alt="" coords="1479,196,1570,221"/>
<area shape="rect" href="dev__sleep__stop_8h.html" title="浅/深睡眠" alt="" coords="1349,269,1471,295"/>
<area shape="rect" href="usbh__user_8h.html" title="USB Host 用户配置" alt="" coords="62,196,155,221"/>
<area shape="rect" title=" " alt="" coords="230,196,355,221"/>
<area shape="rect" title=" " alt="" coords="380,196,504,221"/>
<area shape="rect" title=" " alt="" coords="787,196,905,221"/>
<area shape="rect" title=" " alt="" coords="929,196,1059,221"/>
<area shape="rect" title=" " alt="" coords="1084,196,1205,221"/>
<area shape="rect" title=" " alt="" coords="1229,196,1353,221"/>
<area shape="rect" href="jfif__parser_8h.html" title="jpeg 图片 jfif 格式解析" alt="" coords="925,269,1013,295"/>
<area shape="rect" title=" " alt="" coords="189,269,282,295"/>
<area shape="rect" href="usbh__conf_8h.html" title="USB Host Config" alt="" coords="21,269,113,295"/>
<area shape="rect" href="usbh__msc__conf_8h.html" title="USB Host MSC 类配置" alt="" coords="5,343,129,368"/>
<area shape="rect" title=" " alt="" coords="2419,269,2457,295"/>
<area shape="rect" title=" " alt="" coords="2533,196,2588,221"/>
<area shape="rect" href="_flash_disk_8h.html" title="管理片外 SPI―Flash 的读写, 对接 FATFS 组件" alt="" coords="2151,269,2242,295"/>
</map>
</div>
</div>
<p><a href="ui__update_8c_source.html">浏览源代码.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
结构体</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlv__ui.html">lv_ui</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">UI 布局设计  <a href="structlv__ui.html#details">更多...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlist__dp__t.html">list_dp_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">列表信息  <a href="structlist__dp__t.html#details">更多...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
宏定义</h2></td></tr>
<tr class="memitem:ac8db10abeaa1b0ad371233c7f0d89507"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#ac8db10abeaa1b0ad371233c7f0d89507">UD_DEBUG_ENABLE</a></td></tr>
<tr class="memdesc:ac8db10abeaa1b0ad371233c7f0d89507"><td class="mdescLeft">&#160;</td><td class="mdescRight">模块调试日志输出使能宏  <a href="ui__update_8c.html#ac8db10abeaa1b0ad371233c7f0d89507">更多...</a><br /></td></tr>
<tr class="separator:ac8db10abeaa1b0ad371233c7f0d89507"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4dd0246f2fafec4239a6404f01a15f47"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#a4dd0246f2fafec4239a6404f01a15f47">UD_LOG</a>(...)&#160;&#160;&#160;<a class="el" href="log_8h.html#a378e28bfcb78d17285210d6bbb70a083">LOG_INFO</a>(__VA_ARGS__)</td></tr>
<tr class="memdesc:a4dd0246f2fafec4239a6404f01a15f47"><td class="mdescLeft">&#160;</td><td class="mdescRight">模块调试日志打印宏  <a href="ui__update_8c.html#a4dd0246f2fafec4239a6404f01a15f47">更多...</a><br /></td></tr>
<tr class="separator:a4dd0246f2fafec4239a6404f01a15f47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff351d118cacf27e50b7172b5fe7cc6d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#aff351d118cacf27e50b7172b5fe7cc6d">LV_FONT_AUTO_SIZE</a>&#160;&#160;&#160;lv_font_montserrat_14</td></tr>
<tr class="memdesc:aff351d118cacf27e50b7172b5fe7cc6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">根据分辨率自适应字体大小  <a href="ui__update_8c.html#aff351d118cacf27e50b7172b5fe7cc6d">更多...</a><br /></td></tr>
<tr class="separator:aff351d118cacf27e50b7172b5fe7cc6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
类型定义</h2></td></tr>
<tr class="memitem:a81fe2f73bce795df8ef1757fc170902a"><td class="memItemLeft" align="right" valign="top">typedef uint8_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#a81fe2f73bce795df8ef1757fc170902a">msgbox_sync_cb</a>) (void)</td></tr>
<tr class="memdesc:a81fe2f73bce795df8ef1757fc170902a"><td class="mdescLeft">&#160;</td><td class="mdescRight">消息框弹出时的同步任务回调函数 return : 0 - 执行完毕,任务结束; other - 未执行完毕/失败, 继续执行  <a href="ui__update_8c.html#a81fe2f73bce795df8ef1757fc170902a">更多...</a><br /></td></tr>
<tr class="separator:a81fe2f73bce795df8ef1757fc170902a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="enum-members" name="enum-members"></a>
枚举</h2></td></tr>
<tr class="memitem:a6b977a7742ea0138c283b98d7f072a61"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#a6b977a7742ea0138c283b98d7f072a61">list_t</a> { <a class="el" href="ui__update_8c.html#a6b977a7742ea0138c283b98d7f072a61a59870a6314d0f67f50f096366c970b1f">LIST_MOVE</a> = 0
, <a class="el" href="ui__update_8c.html#a6b977a7742ea0138c283b98d7f072a61a8288a33850043de1687ede2377cc3902">LIST_FLASH</a>
, <a class="el" href="ui__update_8c.html#a6b977a7742ea0138c283b98d7f072a61aa7dadc373d1293a6252806d1c1219d6a">_LIST_MAX_</a>
 }</td></tr>
<tr class="memdesc:a6b977a7742ea0138c283b98d7f072a61"><td class="mdescLeft">&#160;</td><td class="mdescRight">列表  <a href="ui__update_8c.html#a6b977a7742ea0138c283b98d7f072a61">更多...</a><br /></td></tr>
<tr class="separator:a6b977a7742ea0138c283b98d7f072a61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad868081ac7c8daf0af3995fdc3b940b2"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#ad868081ac7c8daf0af3995fdc3b940b2">way_t</a> { <a class="el" href="ui__update_8c.html#ad868081ac7c8daf0af3995fdc3b940b2a438765e1f3129ec9a15a3750f85ba17c">WAY_SD</a> = 0
, <a class="el" href="ui__update_8c.html#ad868081ac7c8daf0af3995fdc3b940b2a7da97547825333c89d5835511c00e334">WAY_USB_H</a>
, <a class="el" href="ui__update_8c.html#ad868081ac7c8daf0af3995fdc3b940b2a94ed3d890336aa209cd2e7e9fa2ace11">WAY_USB_D</a>
, <a class="el" href="ui__update_8c.html#ad868081ac7c8daf0af3995fdc3b940b2ae4c3097bd87be672f365e2e5802667ac">_WAY_MAX_</a>
 }</td></tr>
<tr class="memdesc:ad868081ac7c8daf0af3995fdc3b940b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">加载方式  <a href="ui__update_8c.html#ad868081ac7c8daf0af3995fdc3b940b2">更多...</a><br /></td></tr>
<tr class="separator:ad868081ac7c8daf0af3995fdc3b940b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a79ab4c3b25e5db481221a48f8c8f89e0"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#a79ab4c3b25e5db481221a48f8c8f89e0">btn_jump_t</a> { <a class="el" href="ui__update_8c.html#a79ab4c3b25e5db481221a48f8c8f89e0ad892aae0696cbd7fbe95386c8e74d5fb">BTN_LIST</a> = 0
, <a class="el" href="ui__update_8c.html#a79ab4c3b25e5db481221a48f8c8f89e0a389a5271294f16b165df84d82777da64">BTN_ALL</a>
, <a class="el" href="ui__update_8c.html#a79ab4c3b25e5db481221a48f8c8f89e0a1ca55de3fb737acafbed5b694df304d9">BTN_DFU</a>
, <a class="el" href="ui__update_8c.html#a79ab4c3b25e5db481221a48f8c8f89e0a5a286a5118e9f16961d315021d46d3b3">_BTN_MAX_</a>
 }</td></tr>
<tr class="memdesc:a79ab4c3b25e5db481221a48f8c8f89e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">按钮 operate  <a href="ui__update_8c.html#a79ab4c3b25e5db481221a48f8c8f89e0">更多...</a><br /></td></tr>
<tr class="separator:a79ab4c3b25e5db481221a48f8c8f89e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf764cbdea00d65edcd07bb9953ad2b7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="ui__update_8c.html#adf764cbdea00d65edcd07bb9953ad2b7a79935518a3889663d8688b6b01fff051">Default</a> = 0
, <a class="el" href="ui__update_8c.html#adf764cbdea00d65edcd07bb9953ad2b7a8c6655c7178615ef6ad9485727021ee1">Option_OK</a>
, <a class="el" href="ui__update_8c.html#adf764cbdea00d65edcd07bb9953ad2b7a342bdb40ae73f9a7b19c646abfcce891">Option_Cancel</a>
 }</td></tr>
<tr class="memdesc:adf764cbdea00d65edcd07bb9953ad2b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">开机弹窗选择项  <a href="ui__update_8c.html#adf764cbdea00d65edcd07bb9953ad2b7">更多...</a><br /></td></tr>
<tr class="separator:adf764cbdea00d65edcd07bb9953ad2b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
函数</h2></td></tr>
<tr class="memitem:a4b62aef18e10709cce125faee1b7dd52"><td class="memItemLeft" align="right" valign="top">static uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#a4b62aef18e10709cce125faee1b7dd52">file_explorer</a> (void)</td></tr>
<tr class="memdesc:a4b62aef18e10709cce125faee1b7dd52"><td class="mdescLeft">&#160;</td><td class="mdescRight">文件管理器  <a href="ui__update_8c.html#a4b62aef18e10709cce125faee1b7dd52">更多...</a><br /></td></tr>
<tr class="separator:a4b62aef18e10709cce125faee1b7dd52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a09f4ed59173b0220ba241a673ea3ec"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#a1a09f4ed59173b0220ba241a673ea3ec">boot_select_mbox_cb</a> (lv_obj_t *obj, lv_event_t event)</td></tr>
<tr class="memdesc:a1a09f4ed59173b0220ba241a673ea3ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">开机启动引导消息框选择回调  <a href="ui__update_8c.html#a1a09f4ed59173b0220ba241a673ea3ec">更多...</a><br /></td></tr>
<tr class="separator:a1a09f4ed59173b0220ba241a673ea3ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:affa34b514b9ff8d1f0d4e1f92df3f221"><td class="memItemLeft" align="right" valign="top">static FRESULT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#affa34b514b9ff8d1f0d4e1f92df3f221">scan_dir_files</a> (<a class="el" href="structlist__dp__t.html">list_dp_t</a> *list_data, uint16_t file_num, uint8_t(*file_filter)(const char *), lv_obj_t *list, lv_event_cb_t btn_event_cb)</td></tr>
<tr class="memdesc:affa34b514b9ff8d1f0d4e1f92df3f221"><td class="mdescLeft">&#160;</td><td class="mdescRight">在已打开的目录下, 进行非递归搜寻文件, 并在 list 上刷新显示(文件数量上限由用户指定)  <a href="ui__update_8c.html#affa34b514b9ff8d1f0d4e1f92df3f221">更多...</a><br /></td></tr>
<tr class="separator:affa34b514b9ff8d1f0d4e1f92df3f221"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4bb8b84a1ae2abc7bd0419c4345bca2"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#ac4bb8b84a1ae2abc7bd0419c4345bca2">dp_select_way_cb</a> (<a class="el" href="ui__update_8c.html#ad868081ac7c8daf0af3995fdc3b940b2">way_t</a> *way)</td></tr>
<tr class="memdesc:ac4bb8b84a1ae2abc7bd0419c4345bca2"><td class="mdescLeft">&#160;</td><td class="mdescRight">选择不同加载方式后, 由此函数执行分支跳转  <a href="ui__update_8c.html#ac4bb8b84a1ae2abc7bd0419c4345bca2">更多...</a><br /></td></tr>
<tr class="separator:ac4bb8b84a1ae2abc7bd0419c4345bca2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3dbd73c82f05a5370635333b5ed68aea"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#a3dbd73c82f05a5370635333b5ed68aea">btn_click_cb</a> (<a class="el" href="ui__update_8c.html#a79ab4c3b25e5db481221a48f8c8f89e0">btn_jump_t</a> btn_flag)</td></tr>
<tr class="memdesc:a3dbd73c82f05a5370635333b5ed68aea"><td class="mdescLeft">&#160;</td><td class="mdescRight">点击不同的按钮后, 由此函数执行对应动作  <a href="ui__update_8c.html#a3dbd73c82f05a5370635333b5ed68aea">更多...</a><br /></td></tr>
<tr class="separator:a3dbd73c82f05a5370635333b5ed68aea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abed58d04a30c85fb2231dace9f928c23"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#abed58d04a30c85fb2231dace9f928c23">list_btn_event_handler</a> (lv_obj_t *obj, lv_event_t event)</td></tr>
<tr class="memdesc:abed58d04a30c85fb2231dace9f928c23"><td class="mdescLeft">&#160;</td><td class="mdescRight">列表内按钮  <a href="ui__update_8c.html#abed58d04a30c85fb2231dace9f928c23">更多...</a><br /></td></tr>
<tr class="separator:abed58d04a30c85fb2231dace9f928c23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a106a57df6249072c630361740348469e"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#a106a57df6249072c630361740348469e">clean_scr_page</a> (<a class="el" href="structlv__ui.html">lv_ui</a> *ui)</td></tr>
<tr class="memdesc:a106a57df6249072c630361740348469e"><td class="mdescLeft">&#160;</td><td class="mdescRight">销毁本页面所有控件  <a href="ui__update_8c.html#a106a57df6249072c630361740348469e">更多...</a><br /></td></tr>
<tr class="separator:a106a57df6249072c630361740348469e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0914c8a5cdee556dcabd181982c81260"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#a0914c8a5cdee556dcabd181982c81260">setup_scr_page</a> (<a class="el" href="structlv__ui.html">lv_ui</a> *ui)</td></tr>
<tr class="memdesc:a0914c8a5cdee556dcabd181982c81260"><td class="mdescLeft">&#160;</td><td class="mdescRight">创建本页面所用控件布局  <a href="ui__update_8c.html#a0914c8a5cdee556dcabd181982c81260">更多...</a><br /></td></tr>
<tr class="separator:a0914c8a5cdee556dcabd181982c81260"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7291cda4b568af469eecf3fbf3a7094"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#af7291cda4b568af469eecf3fbf3a7094">msgbox_show</a> (const char *msg_text, const char **btn_text, const uint32_t wait_ms, <a class="el" href="ui__update_8c.html#a81fe2f73bce795df8ef1757fc170902a">msgbox_sync_cb</a> user_cb)</td></tr>
<tr class="memdesc:af7291cda4b568af469eecf3fbf3a7094"><td class="mdescLeft">&#160;</td><td class="mdescRight">消息框弹出提示  <a href="ui__update_8c.html#af7291cda4b568af469eecf3fbf3a7094">更多...</a><br /></td></tr>
<tr class="separator:af7291cda4b568af469eecf3fbf3a7094"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4a4950571bee2848a2e95de6c8ec03c"><td class="memItemLeft" align="right" valign="top">static uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#aa4a4950571bee2848a2e95de6c8ec03c">msgbox_recv_btn</a> (uint16_t *id)</td></tr>
<tr class="separator:aa4a4950571bee2848a2e95de6c8ec03c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69a8fdfac59efe32394ac287d886ad88"><td class="memItemLeft" align="right" valign="top">static uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#a69a8fdfac59efe32394ac287d886ad88">file_filter_move</a> (const char *path)</td></tr>
<tr class="memdesc:a69a8fdfac59efe32394ac287d886ad88"><td class="mdescLeft">&#160;</td><td class="mdescRight">文件过滤器(仅针对外置存储)  <a href="ui__update_8c.html#a69a8fdfac59efe32394ac287d886ad88">更多...</a><br /></td></tr>
<tr class="separator:a69a8fdfac59efe32394ac287d886ad88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea66c53fcc188fefaa3470555db6aa05"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#aea66c53fcc188fefaa3470555db6aa05">ui_update</a> (void)</td></tr>
<tr class="memdesc:aea66c53fcc188fefaa3470555db6aa05"><td class="mdescLeft">&#160;</td><td class="mdescRight">启动 UI 引导加载界面, 挂载文件系统以实现 UI 素材导入/更新  <a href="ui__update_8c.html#aea66c53fcc188fefaa3470555db6aa05">更多...</a><br /></td></tr>
<tr class="separator:aea66c53fcc188fefaa3470555db6aa05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c94ec74d3a5db5ae3daed2ce3a5feaa"><td class="memItemLeft" align="right" valign="top">static uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#a8c94ec74d3a5db5ae3daed2ce3a5feaa">usb_device_msc_handler</a> (void)</td></tr>
<tr class="memdesc:a8c94ec74d3a5db5ae3daed2ce3a5feaa"><td class="mdescLeft">&#160;</td><td class="mdescRight">USB Device MSC 处理线程  <a href="ui__update_8c.html#a8c94ec74d3a5db5ae3daed2ce3a5feaa">更多...</a><br /></td></tr>
<tr class="separator:a8c94ec74d3a5db5ae3daed2ce3a5feaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64ccaf85822f651235e20a08dfc2c500"><td class="memItemLeft" align="right" valign="top">static uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#a64ccaf85822f651235e20a08dfc2c500">move_handler</a> (void)</td></tr>
<tr class="memdesc:a64ccaf85822f651235e20a08dfc2c500"><td class="mdescLeft">&#160;</td><td class="mdescRight">SD / USB Host 检测插入介质  <a href="ui__update_8c.html#a64ccaf85822f651235e20a08dfc2c500">更多...</a><br /></td></tr>
<tr class="separator:a64ccaf85822f651235e20a08dfc2c500"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad08f050acf50e741aaa931f61b7dc00f"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#ad08f050acf50e741aaa931f61b7dc00f">list_btn_cb</a> (<a class="el" href="structlist__dp__t.html">list_dp_t</a> *list_data, lv_obj_t *btn, lv_obj_t *list, lv_event_cb_t btn_cb)</td></tr>
<tr class="memdesc:ad08f050acf50e741aaa931f61b7dc00f"><td class="mdescLeft">&#160;</td><td class="mdescRight">列表内按钮回调  <a href="ui__update_8c.html#ad08f050acf50e741aaa931f61b7dc00f">更多...</a><br /></td></tr>
<tr class="separator:ad08f050acf50e741aaa931f61b7dc00f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab134d9ef6a82138c238684cb0af31fde"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#ab134d9ef6a82138c238684cb0af31fde">dp_event_handler</a> (lv_obj_t *obj, lv_event_t event)</td></tr>
<tr class="memdesc:ab134d9ef6a82138c238684cb0af31fde"><td class="mdescLeft">&#160;</td><td class="mdescRight">下拉选择加载方式  <a href="ui__update_8c.html#ab134d9ef6a82138c238684cb0af31fde">更多...</a><br /></td></tr>
<tr class="separator:ab134d9ef6a82138c238684cb0af31fde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a797b333b12a40decb2c24f829053576e"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#a797b333b12a40decb2c24f829053576e">btn_event_handler</a> (lv_obj_t *obj, lv_event_t event)</td></tr>
<tr class="memdesc:a797b333b12a40decb2c24f829053576e"><td class="mdescLeft">&#160;</td><td class="mdescRight">独立功能按钮  <a href="ui__update_8c.html#a797b333b12a40decb2c24f829053576e">更多...</a><br /></td></tr>
<tr class="separator:a797b333b12a40decb2c24f829053576e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca1c2b29944838c9ab089bc024f238dc"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#aca1c2b29944838c9ab089bc024f238dc">list_btn_next_event_handler</a> (lv_obj_t *obj, lv_event_t event)</td></tr>
<tr class="memdesc:aca1c2b29944838c9ab089bc024f238dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">列表外按钮点击翻页-下一页  <a href="ui__update_8c.html#aca1c2b29944838c9ab089bc024f238dc">更多...</a><br /></td></tr>
<tr class="separator:aca1c2b29944838c9ab089bc024f238dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abdb62d45c4cace1544f52cdacda45f24"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#abdb62d45c4cace1544f52cdacda45f24">events_init</a> (<a class="el" href="structlv__ui.html">lv_ui</a> *ui)</td></tr>
<tr class="memdesc:abdb62d45c4cace1544f52cdacda45f24"><td class="mdescLeft">&#160;</td><td class="mdescRight">注册本页面具备事件回调的控件  <a href="ui__update_8c.html#abdb62d45c4cace1544f52cdacda45f24">更多...</a><br /></td></tr>
<tr class="separator:abdb62d45c4cace1544f52cdacda45f24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8390d39022fee758b6fb860c7906382"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#ad8390d39022fee758b6fb860c7906382">msgbox_event_cb</a> (lv_obj_t *obj, lv_event_t event)</td></tr>
<tr class="memdesc:ad8390d39022fee758b6fb860c7906382"><td class="mdescLeft">&#160;</td><td class="mdescRight">消息框事件回调  <a href="ui__update_8c.html#ad8390d39022fee758b6fb860c7906382">更多...</a><br /></td></tr>
<tr class="separator:ad8390d39022fee758b6fb860c7906382"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a623d03af25d3abe9fbe311d24d57ca28"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#a623d03af25d3abe9fbe311d24d57ca28">msgbox_sync_task</a> (lv_task_t *t)</td></tr>
<tr class="memdesc:a623d03af25d3abe9fbe311d24d57ca28"><td class="mdescLeft">&#160;</td><td class="mdescRight">消息框弹出期间的同步任务  <a href="ui__update_8c.html#a623d03af25d3abe9fbe311d24d57ca28">更多...</a><br /></td></tr>
<tr class="separator:a623d03af25d3abe9fbe311d24d57ca28"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
变量</h2></td></tr>
<tr class="memitem:a8146347161af60be85eba1ea595d94b4"><td class="memItemLeft" align="right" valign="top">static const char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#a8146347161af60be85eba1ea595d94b4">Dir_Ch</a> = '/'</td></tr>
<tr class="memdesc:a8146347161af60be85eba1ea595d94b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">目录标识符  <a href="ui__update_8c.html#a8146347161af60be85eba1ea595d94b4">更多...</a><br /></td></tr>
<tr class="separator:a8146347161af60be85eba1ea595d94b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f600edde0d29f18851c4f5de5a9fc3d"><td class="memItemLeft" align="right" valign="top">static const char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#a0f600edde0d29f18851c4f5de5a9fc3d">Dot_Ch</a> = '.'</td></tr>
<tr class="memdesc:a0f600edde0d29f18851c4f5de5a9fc3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">文件名后缀  <a href="ui__update_8c.html#a0f600edde0d29f18851c4f5de5a9fc3d">更多...</a><br /></td></tr>
<tr class="separator:a0f600edde0d29f18851c4f5de5a9fc3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd8caa3698afa6b173633a32e0d36ec4"><td class="memItemLeft" align="right" valign="top">static const char *const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#abd8caa3698afa6b173633a32e0d36ec4">Back_Str</a> = &quot;...&quot;</td></tr>
<tr class="memdesc:abd8caa3698afa6b173633a32e0d36ec4"><td class="mdescLeft">&#160;</td><td class="mdescRight">返回上一级目录显示标志  <a href="ui__update_8c.html#abd8caa3698afa6b173633a32e0d36ec4">更多...</a><br /></td></tr>
<tr class="separator:abd8caa3698afa6b173633a32e0d36ec4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58399acf1b4e32d79c4971de38e1dc42"><td class="memItemLeft" align="right" valign="top">static const char *const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#a58399acf1b4e32d79c4971de38e1dc42">Guidance_Notes</a> = &quot;File Manager&quot;</td></tr>
<tr class="memdesc:a58399acf1b4e32d79c4971de38e1dc42"><td class="mdescLeft">&#160;</td><td class="mdescRight">简单介绍  <a href="ui__update_8c.html#a58399acf1b4e32d79c4971de38e1dc42">更多...</a><br /></td></tr>
<tr class="separator:a58399acf1b4e32d79c4971de38e1dc42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b9762fb44e1c11b05dd4384e004ee16"><td class="memItemLeft" align="right" valign="top">static const char *const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#a6b9762fb44e1c11b05dd4384e004ee16">Way_Text</a> [<a class="el" href="ui__update_8c.html#ad868081ac7c8daf0af3995fdc3b940b2ae4c3097bd87be672f365e2e5802667ac">_WAY_MAX_</a>]</td></tr>
<tr class="memdesc:a6b9762fb44e1c11b05dd4384e004ee16"><td class="mdescLeft">&#160;</td><td class="mdescRight">下拉列表的选项文本  <a href="ui__update_8c.html#a6b9762fb44e1c11b05dd4384e004ee16">更多...</a><br /></td></tr>
<tr class="separator:a6b9762fb44e1c11b05dd4384e004ee16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ffa04991f0097ff752c1938c60dc6f0"><td class="memItemLeft" align="right" valign="top">static const char *const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#a4ffa04991f0097ff752c1938c60dc6f0">Btn_Text</a> [<a class="el" href="ui__update_8c.html#a79ab4c3b25e5db481221a48f8c8f89e0a5a286a5118e9f16961d315021d46d3b3">_BTN_MAX_</a>]</td></tr>
<tr class="memdesc:a4ffa04991f0097ff752c1938c60dc6f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">按钮文本  <a href="ui__update_8c.html#a4ffa04991f0097ff752c1938c60dc6f0">更多...</a><br /></td></tr>
<tr class="separator:a4ffa04991f0097ff752c1938c60dc6f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5af441434574979c5408785942ab0ea8"><td class="memItemLeft" align="right" valign="top">static const uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#a5af441434574979c5408785942ab0ea8">List_File_Max_Num</a> = 10</td></tr>
<tr class="memdesc:a5af441434574979c5408785942ab0ea8"><td class="mdescLeft">&#160;</td><td class="mdescRight">单页文件数量显示上限  <a href="ui__update_8c.html#a5af441434574979c5408785942ab0ea8">更多...</a><br /></td></tr>
<tr class="separator:a5af441434574979c5408785942ab0ea8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06264759c9982089ba92c1d631969196"><td class="memItemLeft" align="right" valign="top">static const uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#a06264759c9982089ba92c1d631969196">MsgBox_Wait_Ms</a> = 6666</td></tr>
<tr class="memdesc:a06264759c9982089ba92c1d631969196"><td class="mdescLeft">&#160;</td><td class="mdescRight">msgbox 弹窗消息提示显示时长  <a href="ui__update_8c.html#a06264759c9982089ba92c1d631969196">更多...</a><br /></td></tr>
<tr class="separator:a06264759c9982089ba92c1d631969196"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7b512a01b08ac958f4e505fb0c502bf"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structlv__ui.html">lv_ui</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#aa7b512a01b08ac958f4e505fb0c502bf">UI</a></td></tr>
<tr class="memdesc:aa7b512a01b08ac958f4e505fb0c502bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">文件列表管理页  <a href="ui__update_8c.html#aa7b512a01b08ac958f4e505fb0c502bf">更多...</a><br /></td></tr>
<tr class="separator:aa7b512a01b08ac958f4e505fb0c502bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a527b235543e81472134d70bf86683ec7"><td class="memItemLeft" align="right" valign="top">static lv_ll_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#a527b235543e81472134d70bf86683ec7">LL_File</a></td></tr>
<tr class="memdesc:a527b235543e81472134d70bf86683ec7"><td class="mdescLeft">&#160;</td><td class="mdescRight">文件列表管理页被选中的文件名链表  <a href="ui__update_8c.html#a527b235543e81472134d70bf86683ec7">更多...</a><br /></td></tr>
<tr class="separator:a527b235543e81472134d70bf86683ec7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abfff7dba43982483ca07edad75ab3eee"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structlist__dp__t.html">list_dp_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#abfff7dba43982483ca07edad75ab3eee">List_Info</a> [<a class="el" href="ui__update_8c.html#a6b977a7742ea0138c283b98d7f072a61aa7dadc373d1293a6252806d1c1219d6a">_LIST_MAX_</a>]</td></tr>
<tr class="memdesc:abfff7dba43982483ca07edad75ab3eee"><td class="mdescLeft">&#160;</td><td class="mdescRight">文件列表管理页中的当前目录路径  <a href="ui__update_8c.html#abfff7dba43982483ca07edad75ab3eee">更多...</a><br /></td></tr>
<tr class="separator:abfff7dba43982483ca07edad75ab3eee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3e1747368f8a109619463c937c3f597"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="ui__update_8c.html#ad868081ac7c8daf0af3995fdc3b940b2">way_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#af3e1747368f8a109619463c937c3f597">Select_Way</a> = (<a class="el" href="version_8h.html#a737744852bdd23458f08a934778043a9">SWM34S_LCM_PCBV</a> == <a class="el" href="version_8h.html#a190e24ed4405f51a3099593ea97afb23">SWM34SCE_PIN48_A2</a>) ? <a class="el" href="ui__update_8c.html#ad868081ac7c8daf0af3995fdc3b940b2a7da97547825333c89d5835511c00e334">WAY_USB_H</a> : <a class="el" href="ui__update_8c.html#ad868081ac7c8daf0af3995fdc3b940b2a438765e1f3129ec9a15a3750f85ba17c">WAY_SD</a></td></tr>
<tr class="memdesc:af3e1747368f8a109619463c937c3f597"><td class="mdescLeft">&#160;</td><td class="mdescRight">文件列表管理页中下拉列表所选中的加载方式  <a href="ui__update_8c.html#af3e1747368f8a109619463c937c3f597">更多...</a><br /></td></tr>
<tr class="separator:af3e1747368f8a109619463c937c3f597"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e87ff056d14d5037f88d7299434bffb"><td class="memItemLeft" align="right" valign="top">static enum  { ... } &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#a6e87ff056d14d5037f88d7299434bffb">Boot_Select</a> = <a class="el" href="ui__update_8c.html#adf764cbdea00d65edcd07bb9953ad2b7a79935518a3889663d8688b6b01fff051">Default</a></td></tr>
<tr class="memdesc:a6e87ff056d14d5037f88d7299434bffb"><td class="mdescLeft">&#160;</td><td class="mdescRight">开机弹窗选择项  <a href="ui__update_8c.html#a6e87ff056d14d5037f88d7299434bffb">更多...</a><br /></td></tr>
<tr class="separator:a6e87ff056d14d5037f88d7299434bffb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50ade5308cd9daf421ac0c8a6f6c1f82"><td class="memItemLeft" align="right" valign="top">static volatile <a class="el" href="ui__update_8c.html#a79ab4c3b25e5db481221a48f8c8f89e0">btn_jump_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#a50ade5308cd9daf421ac0c8a6f6c1f82">File_Explorer_Flag</a> = <a class="el" href="ui__update_8c.html#a79ab4c3b25e5db481221a48f8c8f89e0a5a286a5118e9f16961d315021d46d3b3">_BTN_MAX_</a></td></tr>
<tr class="memdesc:a50ade5308cd9daf421ac0c8a6f6c1f82"><td class="mdescLeft">&#160;</td><td class="mdescRight">文件列表管理器跳出标志 <em>BTN_MAX</em> : Default BTN_LIST : List (对移动磁盘列表中已被点击的文件 更新拷贝至 本地磁盘 ) BTN_ALL : ALL (在移动磁盘列表 &lt;根目录&gt; 下按 程序素材文件表 进行全拷贝至 本地磁盘 ) BTN_DFU : DFU (Device Firmware Update - 设备固件更新, 更新目标为移动磁盘列表中已被点击的文件&lt;只能为一个&gt;)  <a href="ui__update_8c.html#a50ade5308cd9daf421ac0c8a6f6c1f82">更多...</a><br /></td></tr>
<tr class="separator:a50ade5308cd9daf421ac0c8a6f6c1f82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47e8d86c60ab3a72467fd0f33dc1605d"><td class="memItemLeft" align="right" valign="top">static lv_obj_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#a47e8d86c60ab3a72467fd0f33dc1605d">MsgBox</a> = NULL</td></tr>
<tr class="memdesc:a47e8d86c60ab3a72467fd0f33dc1605d"><td class="mdescLeft">&#160;</td><td class="mdescRight">消息框弹出提示控件对象  <a href="ui__update_8c.html#a47e8d86c60ab3a72467fd0f33dc1605d">更多...</a><br /></td></tr>
<tr class="separator:a47e8d86c60ab3a72467fd0f33dc1605d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8128c131b645e18776b40c38bb63e287"><td class="memItemLeft" align="right" valign="top">static lv_task_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#a8128c131b645e18776b40c38bb63e287">MsgBox_Task</a> = NULL</td></tr>
<tr class="memdesc:a8128c131b645e18776b40c38bb63e287"><td class="mdescLeft">&#160;</td><td class="mdescRight">消息框弹出期间同步执行的任务句柄  <a href="ui__update_8c.html#a8128c131b645e18776b40c38bb63e287">更多...</a><br /></td></tr>
<tr class="separator:a8128c131b645e18776b40c38bb63e287"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06caa66df343f9a30e16817c7c533e60"><td class="memItemLeft" align="right" valign="top">static volatile uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ui__update_8c.html#a06caa66df343f9a30e16817c7c533e60">MsgBox_Sync_Flag</a> = 0</td></tr>
<tr class="memdesc:a06caa66df343f9a30e16817c7c533e60"><td class="mdescLeft">&#160;</td><td class="mdescRight">消息框与任务之间的同步标志(0-状态同步 1-状态异步改变)  <a href="ui__update_8c.html#a06caa66df343f9a30e16817c7c533e60">更多...</a><br /></td></tr>
<tr class="separator:a06caa66df343f9a30e16817c7c533e60"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">详细描述</h2>
<div class="textblock"><p >启动引导更新页, 挂载文件系统实现 UI 素材导入/更新(可选模块) </p>
<p >/ </p><dl class="section since"><dt>自从</dt><dd>Change Logs: Date Author Notes 2022-12-08 lzh the first version 2022-12-21 lzh 将 SD 选项 与 初始启动默认加载方式 加入预编译, 34SCE 没有 SDIO 接口, 34SRE/VE 个别早期板子没焊 USB 接口(Type-A) 2023-02-23 lzh 修正消息框弹出同步问题 </dd></dl>
<dl class="section note"><dt>注解</dt><dd><br  />
 1、在 外部磁盘根目录中 不要放入太多文件, 会影响 <a class="el" href="ui__update_8c.html#affa34b514b9ff8d1f0d4e1f92df3f221" title="在已打开的目录下, 进行非递归搜寻文件, 并在 list 上刷新显示(文件数量上限由用户指定)">scan_dir_files()</a> 的扫描速度.(文件名也尽量不要太长, 字体滚动消耗资源较大, 视个人观感而定)</dd></dl>
<p>2、要使用 DFU (Device Firmware Update) 功能, 必须保证 MCU 片内已经存在 UserBoot , 否则复位后无法进入 UserBoot 进行固件更新, 程序挂死. (因为如果没有 Boot, 则 APP 地址从 0 开始, 会在修改 Chip-Flash 的数据时变向破坏原有 APP , 故复位后也无法执行原有 APP )</p>
<dl class="section remark"><dt>备注</dt><dd>使用说明: UI 启动引导更新页位于上电后第一个被调用的应用, 此时会弹出启动引导选项的消息框, 若点击 OK, 则进入文件列表拷贝页, 点击 Cancel 或 6s 超时不点击则退出本页面功能.</dd></dl>
<p>下拉列表:</p>
<p >SD : SDIO 接口, SD/TF卡(2 ~ 32GB)</p>
<p >USB_H : USB Host――MSC, 常见 U 盘(支持 USB2.0 全速/低速 )</p>
<p >USB_PC : USB Device――MSC, 连接个人电脑, MCU 利用板载 SPI-Flash 充当 U 盘设备</p>
<p >三颗独立功能按钮:</p>
<p >List : 左侧列表中已被点击的文件 更新拷贝至 本地磁盘 (如没有点击则直接进入下一步) , 下一步校验 本地 的文件素材表, 若校验通过则进入主菜单, 否则弹出错误提示</p>
<p >ALL : 先校验 外置存储 的文件素材表, 不符合直接抛出错误提示, 若符合则在外置存储的 &lt;根目录&gt; 下按 &lt;程序素材文件表&gt; 进行全拷贝至 本地存储 (会清空覆盖本地存储), 下一步校验 本地 的文件素材表, 若均校验通过则进入主菜单, 否则弹出错误提示</p>
<p >DFU : Device Firmware Update - 设备固件更新, 更新目标为移动磁盘列表中已被点击的文件&lt;默认选取最后点击的一个&gt;, 若没有点击选取文件, 则搜索默认配置文件名.</p>
<p >列表 :</p>
<p >左侧 : 显示 &lt;下拉列表选择的外置存储&gt; 的文件目录(对文件名进行过滤, 避免过多的文件干扰到用户选取, 过滤规则详见 - <a class="el" href="ui__update_8c.html#a69a8fdfac59efe32394ac287d886ad88" title="文件过滤器(仅针对外置存储)">file_filter_move()</a> )</p>
<p >右侧 : 默认为板载 SPI-Flash 的文件目录</p>
<p >列表下方按钮 : 翻页&lt;目前仅实现下一页功能&gt;</p>
<dl class="test"><dt><b><a class="el" href="test.html#_test000005">测试:</a></b></dt><dd>实际测试本例程的全部 UI 素材下载拷贝速度约 5 ~ 6 分钟.</dd></dl>
<dl class="section attention"><dt>注意</dt><dd></dd></dl>
<p>THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN- -ECTION WITH THEIR PRODUCTS.</p>
<dl class="section copyright"><dt>版权所有</dt><dd>2012 Synwit Technology </dd></dl>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 中定义.</p>
</div><h2 class="groupheader">宏定义说明</h2>
<a id="ac8db10abeaa1b0ad371233c7f0d89507" name="ac8db10abeaa1b0ad371233c7f0d89507"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac8db10abeaa1b0ad371233c7f0d89507">&#9670;&#160;</a></span>UD_DEBUG_ENABLE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define UD_DEBUG_ENABLE</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>模块调试日志输出使能宏 </p>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l00077">77</a> 行定义.</p>

</div>
</div>
<a id="a4dd0246f2fafec4239a6404f01a15f47" name="a4dd0246f2fafec4239a6404f01a15f47"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4dd0246f2fafec4239a6404f01a15f47">&#9670;&#160;</a></span>UD_LOG</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define UD_LOG</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em></td><td>)</td>
          <td>&#160;&#160;&#160;<a class="el" href="log_8h.html#a378e28bfcb78d17285210d6bbb70a083">LOG_INFO</a>(__VA_ARGS__)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>模块调试日志打印宏 </p>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l00081">81</a> 行定义.</p>

</div>
</div>
<a id="aff351d118cacf27e50b7172b5fe7cc6d" name="aff351d118cacf27e50b7172b5fe7cc6d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aff351d118cacf27e50b7172b5fe7cc6d">&#9670;&#160;</a></span>LV_FONT_AUTO_SIZE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LV_FONT_AUTO_SIZE&#160;&#160;&#160;lv_font_montserrat_14</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>根据分辨率自适应字体大小 </p>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l00096">96</a> 行定义.</p>

</div>
</div>
<h2 class="groupheader">类型定义说明</h2>
<a id="a81fe2f73bce795df8ef1757fc170902a" name="a81fe2f73bce795df8ef1757fc170902a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a81fe2f73bce795df8ef1757fc170902a">&#9670;&#160;</a></span>msgbox_sync_cb</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef uint8_t(* msgbox_sync_cb) (void)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>消息框弹出时的同步任务回调函数 return : 0 - 执行完毕,任务结束; other - 未执行完毕/失败, 继续执行 </p>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l00152">152</a> 行定义.</p>

</div>
</div>
<h2 class="groupheader">枚举类型说明</h2>
<a id="a6b977a7742ea0138c283b98d7f072a61" name="a6b977a7742ea0138c283b98d7f072a61"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6b977a7742ea0138c283b98d7f072a61">&#9670;&#160;</a></span>list_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="ui__update_8c.html#a6b977a7742ea0138c283b98d7f072a61">list_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>列表 </p>
<table class="fieldtable">
<tr><th colspan="2">枚举值</th></tr><tr><td class="fieldname"><a id="a6b977a7742ea0138c283b98d7f072a61a59870a6314d0f67f50f096366c970b1f" name="a6b977a7742ea0138c283b98d7f072a61a59870a6314d0f67f50f096366c970b1f"></a>LIST_MOVE&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a6b977a7742ea0138c283b98d7f072a61a8288a33850043de1687ede2377cc3902" name="a6b977a7742ea0138c283b98d7f072a61a8288a33850043de1687ede2377cc3902"></a>LIST_FLASH&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a6b977a7742ea0138c283b98d7f072a61aa7dadc373d1293a6252806d1c1219d6a" name="a6b977a7742ea0138c283b98d7f072a61aa7dadc373d1293a6252806d1c1219d6a"></a>_LIST_MAX_&#160;</td><td class="fielddoc"></td></tr>
</table>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l00103">103</a> 行定义.</p>

</div>
</div>
<a id="ad868081ac7c8daf0af3995fdc3b940b2" name="ad868081ac7c8daf0af3995fdc3b940b2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad868081ac7c8daf0af3995fdc3b940b2">&#9670;&#160;</a></span>way_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="ui__update_8c.html#ad868081ac7c8daf0af3995fdc3b940b2">way_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>加载方式 </p>
<table class="fieldtable">
<tr><th colspan="2">枚举值</th></tr><tr><td class="fieldname"><a id="ad868081ac7c8daf0af3995fdc3b940b2a438765e1f3129ec9a15a3750f85ba17c" name="ad868081ac7c8daf0af3995fdc3b940b2a438765e1f3129ec9a15a3750f85ba17c"></a>WAY_SD&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ad868081ac7c8daf0af3995fdc3b940b2a7da97547825333c89d5835511c00e334" name="ad868081ac7c8daf0af3995fdc3b940b2a7da97547825333c89d5835511c00e334"></a>WAY_USB_H&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ad868081ac7c8daf0af3995fdc3b940b2a94ed3d890336aa209cd2e7e9fa2ace11" name="ad868081ac7c8daf0af3995fdc3b940b2a94ed3d890336aa209cd2e7e9fa2ace11"></a>WAY_USB_D&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ad868081ac7c8daf0af3995fdc3b940b2ae4c3097bd87be672f365e2e5802667ac" name="ad868081ac7c8daf0af3995fdc3b940b2ae4c3097bd87be672f365e2e5802667ac"></a>_WAY_MAX_&#160;</td><td class="fielddoc"></td></tr>
</table>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l00111">111</a> 行定义.</p>

</div>
</div>
<a id="a79ab4c3b25e5db481221a48f8c8f89e0" name="a79ab4c3b25e5db481221a48f8c8f89e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a79ab4c3b25e5db481221a48f8c8f89e0">&#9670;&#160;</a></span>btn_jump_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="ui__update_8c.html#a79ab4c3b25e5db481221a48f8c8f89e0">btn_jump_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>按钮 operate </p>
<table class="fieldtable">
<tr><th colspan="2">枚举值</th></tr><tr><td class="fieldname"><a id="a79ab4c3b25e5db481221a48f8c8f89e0ad892aae0696cbd7fbe95386c8e74d5fb" name="a79ab4c3b25e5db481221a48f8c8f89e0ad892aae0696cbd7fbe95386c8e74d5fb"></a>BTN_LIST&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a79ab4c3b25e5db481221a48f8c8f89e0a389a5271294f16b165df84d82777da64" name="a79ab4c3b25e5db481221a48f8c8f89e0a389a5271294f16b165df84d82777da64"></a>BTN_ALL&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a79ab4c3b25e5db481221a48f8c8f89e0a1ca55de3fb737acafbed5b694df304d9" name="a79ab4c3b25e5db481221a48f8c8f89e0a1ca55de3fb737acafbed5b694df304d9"></a>BTN_DFU&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a79ab4c3b25e5db481221a48f8c8f89e0a5a286a5118e9f16961d315021d46d3b3" name="a79ab4c3b25e5db481221a48f8c8f89e0a5a286a5118e9f16961d315021d46d3b3"></a>_BTN_MAX_&#160;</td><td class="fielddoc"></td></tr>
</table>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l00120">120</a> 行定义.</p>

</div>
</div>
<a id="adf764cbdea00d65edcd07bb9953ad2b7" name="adf764cbdea00d65edcd07bb9953ad2b7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adf764cbdea00d65edcd07bb9953ad2b7">&#9670;&#160;</a></span>anonymous enum</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>开机弹窗选择项 </p>
<table class="fieldtable">
<tr><th colspan="2">枚举值</th></tr><tr><td class="fieldname"><a id="adf764cbdea00d65edcd07bb9953ad2b7a79935518a3889663d8688b6b01fff051" name="adf764cbdea00d65edcd07bb9953ad2b7a79935518a3889663d8688b6b01fff051"></a>Default&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="adf764cbdea00d65edcd07bb9953ad2b7a8c6655c7178615ef6ad9485727021ee1" name="adf764cbdea00d65edcd07bb9953ad2b7a8c6655c7178615ef6ad9485727021ee1"></a>Option_OK&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="adf764cbdea00d65edcd07bb9953ad2b7a342bdb40ae73f9a7b19c646abfcce891" name="adf764cbdea00d65edcd07bb9953ad2b7a342bdb40ae73f9a7b19c646abfcce891"></a>Option_Cancel&#160;</td><td class="fielddoc"></td></tr>
</table>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l00212">212</a> 行定义.</p>

</div>
</div>
<h2 class="groupheader">函数说明</h2>
<a id="a4b62aef18e10709cce125faee1b7dd52" name="a4b62aef18e10709cce125faee1b7dd52"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4b62aef18e10709cce125faee1b7dd52">&#9670;&#160;</a></span>file_explorer()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static uint8_t file_explorer </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>文件管理器 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">/</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>返回值</dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>: success </td></tr>
    <tr><td class="paramname">other</td><td>: error code </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l00380">380</a> 行定义.</p>
<div class="dynheader">
函数调用图:</div>
<div class="dyncontent">
<div class="center"><img src="ui__update_8c_a4b62aef18e10709cce125faee1b7dd52_cgraph.png" border="0" usemap="#aui__update_8c_a4b62aef18e10709cce125faee1b7dd52_cgraph" alt=""/></div>
<map name="aui__update_8c_a4b62aef18e10709cce125faee1b7dd52_cgraph" id="aui__update_8c_a4b62aef18e10709cce125faee1b7dd52_cgraph">
<area shape="rect" title="文件管理器" alt="" coords="5,557,96,583"/>
<area shape="rect" href="ui__update_8c.html#a3dbd73c82f05a5370635333b5ed68aea" title="点击不同的按钮后, 由此函数执行对应动作" alt="" coords="161,255,256,280"/>
<area shape="rect" href="ui__update_8c.html#af7291cda4b568af469eecf3fbf3a7094" title="消息框弹出提示" alt="" coords="352,403,457,428"/>
<area shape="rect" href="ui__update_8c.html#a106a57df6249072c630361740348469e" title="销毁本页面所有控件" alt="" coords="152,456,265,481"/>
<area shape="rect" href="ui__update_8c.html#ac4bb8b84a1ae2abc7bd0419c4345bca2" title="选择不同加载方式后, 由此函数执行分支跳转" alt="" coords="144,557,273,583"/>
<area shape="rect" href="ui__update_8c.html#a69a8fdfac59efe32394ac287d886ad88" title="文件过滤器(仅针对外置存储)" alt="" coords="1079,696,1185,721"/>
<area shape="rect" href="load__file_8c.html#aebe4a0d647831986c734e1788150a064" title="为磁盘挂载文件系统" alt="" coords="566,383,641,408"/>
<area shape="rect" href="ui__update_8c.html#abed58d04a30c85fb2231dace9f928c23" title="列表内按钮" alt="" coords="719,784,869,809"/>
<area shape="rect" href="ui__update_8c.html#affa34b514b9ff8d1f0d4e1f92df3f221" title="在已打开的目录下, 进行非递归搜寻文件, 并在 list 上刷新显示(文件数量上限由用户指定)" alt="" coords="1081,860,1183,885"/>
<area shape="rect" href="ui__update_8c.html#a0914c8a5cdee556dcabd181982c81260" title="创建本页面所用控件布局" alt="" coords="151,987,266,1012"/>
<area shape="rect" href="file__table_8c.html#a3b8264ecd2971c7f1409a78c16a80fff" title="按文件表依次验证磁盘文件" alt="" coords="347,255,462,280"/>
<area shape="rect" href="userboot_8c.html#a52a519a37465a7b4515a237114afa802" title="数据加密" alt="" coords="357,304,453,329"/>
<area shape="rect" href="userboot_8c.html#a759a4106353e92e06e9d15926228c576" title="固件下载 (外部 =&gt; 本地)" alt="" coords="339,104,470,129"/>
<area shape="rect" href="load__file_8c.html#a51d572edecc93d80a160b93843fb5208" title="磁盘新建卷, 重置清空卷" alt="" coords="761,153,827,179"/>
<area shape="rect" href="userboot_8c.html#acdd804b92809fcd58b2bc135fc74666c" title="跳转至 UserBoot 执行对应动作" alt="" coords="342,55,467,80"/>
<area shape="rect" href="file__table_8c.html#ae9814059aade68167dd27fac6439fa67" title="按文件名链表拷贝文件并显示拷贝过程 UI" alt="" coords="329,353,480,379"/>
<area shape="rect" href="file__table_8c.html#a9f89967794eeb4df91c77da5f983e163" title="按文件表拷贝文件并显示拷贝过程 UI" alt="" coords="323,205,486,231"/>
<area shape="rect" href="userboot_8c.html#aeeea4715dd32a4a4ecdf61a2869d1307" title="计算 CRC 校验和" alt="" coords="554,104,653,129"/>
<area shape="rect" href="dev__crc_8c.html#a64e0abe6c28e0480424c1e467afb7430" title="计算 CRC32 校验和" alt="" coords="755,104,833,129"/>
<area shape="rect" href="userboot_8c.html#a01aae38566ae3dd519a6c18696ab2806" title="重启 MCU" alt="" coords="562,5,645,31"/>
<area shape="rect" href="userboot_8c.html#a9412f435ea365342178b2399fc08a846" title="写入固件信息, 并自带回读校验" alt="" coords="548,55,659,80"/>
<area shape="rect" href="ui__update_8c.html#ad8390d39022fee758b6fb860c7906382" title="消息框事件回调" alt="" coords="540,333,667,359"/>
<area shape="rect" href="ui__update_8c.html#a623d03af25d3abe9fbe311d24d57ca28" title="消息框弹出期间的同步任务" alt="" coords="536,284,671,309"/>
<area shape="rect" href="load__file_8c.html#a054ac4b07b339f1cda65d041546a46f2" title="拷贝文件" alt="" coords="567,220,640,245"/>
<area shape="rect" href="ui__update_8c.html#a64ccaf85822f651235e20a08dfc2c500" title="SD / USB Host 检测插入介质" alt="" coords="354,608,455,633"/>
<area shape="rect" href="ui__update_8c.html#a8c94ec74d3a5db5ae3daed2ce3a5feaa" title="USB Device MSC 处理线程" alt="" coords="321,557,488,583"/>
<area shape="rect" href="load__file_8c.html#a2826c976bae07983300096521da284b4" title="为磁盘卸载文件系统" alt="" coords="749,203,839,228"/>
<area shape="rect" href="ui__update_8c.html#ad08f050acf50e741aaa931f61b7dc00f" title="列表内按钮回调" alt="" coords="930,784,1015,809"/>
<area shape="rect" href="_flash_disk_8c.html#a5ab90dc9341a1459125a15b506cfe35a" title="刷新脏缓冲区" alt="" coords="1076,456,1188,481"/>
<area shape="rect" href="_mass_storage_8c.html#aa02df815c14caedbc2fd0a8910d2e055" title=" " alt="" coords="566,432,641,457"/>
<area shape="rect" href="_mass_storage_8c.html#acc63e729ab9145b644fc4da28a63636e" title=" " alt="" coords="537,481,669,507"/>
<area shape="rect" href="_s_p_i___w_b25_qxx_8c.html#a65571e7929b299af3a763c206a2c98b5" title="擦除 WB25Qxx 指定扇区地址" alt="" coords="1236,383,1397,408"/>
<area shape="rect" href="_s_p_i___w_b25_qxx_8c.html#a0465c5f017965876cf6ff8859eb2731f" title="初始化 WB25Qxx 使用的 SPI 接口, 并读取芯片 ID 等信息以判断其是否是 WB25Qxx 芯片" alt="" coords="1263,456,1370,481"/>
<area shape="rect" href="_s_p_i___w_b25_qxx_8c.html#a6af72df055a5bc71064719f68842f515" title="向 WB25Qxx 指定地址处写入指定个字节数据(写入前须保证待写入区域已被擦空)" alt="" coords="1241,505,1392,531"/>
<area shape="rect" href="_s_p_i___w_b25_qxx_8c.html#a39809b92887312675a23a33bf9329fce" title="芯片忙检测(执行擦除、写入操作后需要执行忙检测以判断芯片是否已经完成操作)" alt="" coords="1481,383,1611,408"/>
<area shape="rect" href="_s_p_i___w_b25_qxx_8c.html#ae31db601e8f25e65389adda808c61e8d" title="设置 WEL 位, 使能写入(必须在每个擦除、写入状态寄存器和擦除/编程安全寄存器指令之前设置)" alt="" coords="1463,333,1629,359"/>
<area shape="rect" href="_s_p_i___w_b25_qxx_8c.html#a04c55a0ea26c3794552069171a06f868" title="进入 QPI 模式" alt="" coords="1471,432,1621,457"/>
<area shape="rect" href="_s_p_i___w_b25_qxx_8c.html#a8f90491088e0e7053d211def3f87a330" title="读取芯片 JEDEC ID" alt="" coords="1453,481,1639,507"/>
<area shape="rect" href="_s_p_i___w_b25_qxx_8c.html#a026120f0fec011e2c302b114b5961b55" title="读取芯片厂商和设备 ID" alt="" coords="1445,531,1647,571"/>
<area shape="rect" href="_s_p_i___w_b25_qxx_8c.html#a8fa23417edd7b0324ad2a7f77913ed3a" title="设置 QPI 模式下适应对最大读取频率或最小数据访问延迟的读等待周期." alt="" coords="1459,595,1633,635"/>
<area shape="rect" href="_mass_storage_8c.html#af04531d1a1fb99d20e8f895f621a3eb2" title=" " alt="" coords="725,304,863,329"/>
<area shape="rect" href="dev__sfc_8c.html#aad5d116153c77313a1212733b556a578" title="初始化 SFC 将 外挂的SPI&#45;Flash 映射至 MCU 总线地址上" alt="" coords="1101,356,1163,381"/>
<area shape="rect" href="_flash_disk_8c.html#a7655b0f2f5afc564c640878be5a50d41" title="读取数据" alt="" coords="917,456,1028,481"/>
<area shape="rect" href="_flash_disk_8c.html#ac9c9d4cc9fae5bccc09d1a80c7d42fc7" title="写入数据" alt="" coords="917,356,1028,381"/>
<area shape="rect" href="_mass_storage_8c.html#a10afa6cfd9fc23db2b431ccf9f332f30" title=" " alt="" coords="951,407,994,432"/>
<area shape="rect" href="_mass_storage_8c.html#a27d5eea78a599a6b45519475e677ef2c" title=" " alt="" coords="735,456,853,481"/>
<area shape="rect" href="ui__update_8c.html#abdb62d45c4cace1544f52cdacda45f24" title="注册本页面具备事件回调的控件" alt="" coords="363,987,446,1012"/>
<area shape="rect" href="ui__update_8c.html#a797b333b12a40decb2c24f829053576e" title="独立功能按钮" alt="" coords="540,1036,667,1061"/>
<area shape="rect" href="ui__update_8c.html#ab134d9ef6a82138c238684cb0af31fde" title="下拉选择加载方式" alt="" coords="542,987,665,1012"/>
<area shape="rect" href="ui__update_8c.html#aca1c2b29944838c9ab089bc024f238dc" title="列表外按钮点击翻页&#45;下一页" alt="" coords="537,866,670,906"/>
</map>
</div>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="ui__update_8c_a4b62aef18e10709cce125faee1b7dd52_icgraph.png" border="0" usemap="#aui__update_8c_a4b62aef18e10709cce125faee1b7dd52_icgraph" alt=""/></div>
<map name="aui__update_8c_a4b62aef18e10709cce125faee1b7dd52_icgraph" id="aui__update_8c_a4b62aef18e10709cce125faee1b7dd52_icgraph">
<area shape="rect" title="文件管理器" alt="" coords="353,5,444,31"/>
<area shape="rect" href="ui__update_8c.html#aea66c53fcc188fefaa3470555db6aa05" title="启动 UI 引导加载界面, 挂载文件系统以实现 UI 素材导入/更新" alt="" coords="227,5,305,31"/>
<area shape="rect" href="main_8c.html#a8f1efe6291a27ae9b326f0c8a236c102" title="Go to User App Execute" alt="" coords="104,5,179,31"/>
<area shape="rect" href="main_8c.html#a840291bc02cba5474a4cb46a9b9566fe" title="C_Main" alt="" coords="5,5,56,31"/>
</map>
</div>

</div>
</div>
<a id="a1a09f4ed59173b0220ba241a673ea3ec" name="a1a09f4ed59173b0220ba241a673ea3ec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1a09f4ed59173b0220ba241a673ea3ec">&#9670;&#160;</a></span>boot_select_mbox_cb()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void boot_select_mbox_cb </td>
          <td>(</td>
          <td class="paramtype">lv_obj_t *&#160;</td>
          <td class="paramname"><em>obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">lv_event_t&#160;</td>
          <td class="paramname"><em>event</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>开机启动引导消息框选择回调 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">obj</td><td>: 对象 </td></tr>
    <tr><td class="paramname">event</td><td>: 事件 </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>返回值</dt><dd>
  <table class="retval">
    <tr><td class="paramname">/</td><td></td></tr>
  </table>
  </dd>
</dl>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l00353">353</a> 行定义.</p>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="ui__update_8c_a1a09f4ed59173b0220ba241a673ea3ec_icgraph.png" border="0" usemap="#aui__update_8c_a1a09f4ed59173b0220ba241a673ea3ec_icgraph" alt=""/></div>
<map name="aui__update_8c_a1a09f4ed59173b0220ba241a673ea3ec_icgraph" id="aui__update_8c_a1a09f4ed59173b0220ba241a673ea3ec_icgraph">
<area shape="rect" title="开机启动引导消息框选择回调" alt="" coords="353,5,503,31"/>
<area shape="rect" href="ui__update_8c.html#aea66c53fcc188fefaa3470555db6aa05" title="启动 UI 引导加载界面, 挂载文件系统以实现 UI 素材导入/更新" alt="" coords="227,5,305,31"/>
<area shape="rect" href="main_8c.html#a8f1efe6291a27ae9b326f0c8a236c102" title="Go to User App Execute" alt="" coords="104,5,179,31"/>
<area shape="rect" href="main_8c.html#a840291bc02cba5474a4cb46a9b9566fe" title="C_Main" alt="" coords="5,5,56,31"/>
</map>
</div>

</div>
</div>
<a id="affa34b514b9ff8d1f0d4e1f92df3f221" name="affa34b514b9ff8d1f0d4e1f92df3f221"></a>
<h2 class="memtitle"><span class="permalink"><a href="#affa34b514b9ff8d1f0d4e1f92df3f221">&#9670;&#160;</a></span>scan_dir_files()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static FRESULT scan_dir_files </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structlist__dp__t.html">list_dp_t</a> *&#160;</td>
          <td class="paramname"><em>list_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>file_num</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t(*)(const char *)&#160;</td>
          <td class="paramname"><em>file_filter</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">lv_obj_t *&#160;</td>
          <td class="paramname"><em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">lv_event_cb_t&#160;</td>
          <td class="paramname"><em>btn_event_cb</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>在已打开的目录下, 进行非递归搜寻文件, 并在 list 上刷新显示(文件数量上限由用户指定) </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">list_data</td><td>: 列表源信息 </td></tr>
    <tr><td class="paramname">file_num</td><td>: 待扫描的文件数量 </td></tr>
    <tr><td class="paramname">file_filter</td><td>: 文件过滤器(以文件名进行过滤) </td></tr>
    <tr><td class="paramname">list</td><td>: 显示列表 </td></tr>
    <tr><td class="paramname">btn_event_cb</td><td>: 列表子节点事件回调 </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>返回值</dt><dd>
  <table class="retval">
    <tr><td class="paramname">FRESULT</td><td>: 详见 ff.h 枚举 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>注解</dt><dd>打开目录使用 f_opendir(DIR *dir, const char *path) , 关闭目录使用 f_closedir(DIR *dir) 释放 </dd></dl>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l00508">508</a> 行定义.</p>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="ui__update_8c_affa34b514b9ff8d1f0d4e1f92df3f221_icgraph.png" border="0" usemap="#aui__update_8c_affa34b514b9ff8d1f0d4e1f92df3f221_icgraph" alt=""/></div>
<map name="aui__update_8c_affa34b514b9ff8d1f0d4e1f92df3f221_icgraph" id="aui__update_8c_affa34b514b9ff8d1f0d4e1f92df3f221_icgraph">
<area shape="rect" title="在已打开的目录下, 进行非递归搜寻文件, 并在 list 上刷新显示(文件数量上限由用户指定)" alt="" coords="1313,93,1415,118"/>
<area shape="rect" href="ui__update_8c.html#a4b62aef18e10709cce125faee1b7dd52" title="文件管理器" alt="" coords="353,74,444,99"/>
<area shape="rect" href="ui__update_8c.html#ad08f050acf50e741aaa931f61b7dc00f" title="列表内按钮回调" alt="" coords="1180,67,1265,93"/>
<area shape="rect" href="ui__update_8c.html#aca1c2b29944838c9ab089bc024f238dc" title="列表外按钮点击翻页&#45;下一页" alt="" coords="800,99,933,139"/>
<area shape="rect" href="ui__update_8c.html#a64ccaf85822f651235e20a08dfc2c500" title="SD / USB Host 检测插入介质" alt="" coords="816,163,917,189"/>
<area shape="rect" href="ui__update_8c.html#aea66c53fcc188fefaa3470555db6aa05" title="启动 UI 引导加载界面, 挂载文件系统以实现 UI 素材导入/更新" alt="" coords="227,74,305,99"/>
<area shape="rect" href="main_8c.html#a8f1efe6291a27ae9b326f0c8a236c102" title="Go to User App Execute" alt="" coords="104,74,179,99"/>
<area shape="rect" href="main_8c.html#a840291bc02cba5474a4cb46a9b9566fe" title="C_Main" alt="" coords="5,74,56,99"/>
<area shape="rect" href="ui__update_8c.html#abed58d04a30c85fb2231dace9f928c23" title="列表内按钮" alt="" coords="981,67,1132,93"/>
<area shape="rect" href="ui__update_8c.html#abdb62d45c4cace1544f52cdacda45f24" title="注册本页面具备事件回调的控件" alt="" coords="669,103,752,129"/>
<area shape="rect" href="ui__update_8c.html#a0914c8a5cdee556dcabd181982c81260" title="创建本页面所用控件布局" alt="" coords="499,102,614,127"/>
<area shape="rect" href="ui__update_8c.html#ac4bb8b84a1ae2abc7bd0419c4345bca2" title="选择不同加载方式后, 由此函数执行分支跳转" alt="" coords="492,151,621,177"/>
</map>
</div>

</div>
</div>
<a id="ac4bb8b84a1ae2abc7bd0419c4345bca2" name="ac4bb8b84a1ae2abc7bd0419c4345bca2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac4bb8b84a1ae2abc7bd0419c4345bca2">&#9670;&#160;</a></span>dp_select_way_cb()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void dp_select_way_cb </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ui__update_8c.html#ad868081ac7c8daf0af3995fdc3b940b2">way_t</a> *&#160;</td>
          <td class="paramname"><em>way</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>选择不同加载方式后, 由此函数执行分支跳转 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">way</td><td>: 加载方式枚举 </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>返回值</dt><dd>
  <table class="retval">
    <tr><td class="paramname">/</td><td></td></tr>
  </table>
  </dd>
</dl>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l00598">598</a> 行定义.</p>
<div class="dynheader">
函数调用图:</div>
<div class="dyncontent">
<div class="center"><img src="ui__update_8c_ac4bb8b84a1ae2abc7bd0419c4345bca2_cgraph.png" border="0" usemap="#aui__update_8c_ac4bb8b84a1ae2abc7bd0419c4345bca2_cgraph" alt=""/></div>
<map name="aui__update_8c_ac4bb8b84a1ae2abc7bd0419c4345bca2_cgraph" id="aui__update_8c_ac4bb8b84a1ae2abc7bd0419c4345bca2_cgraph">
<area shape="rect" title="选择不同加载方式后, 由此函数执行分支跳转" alt="" coords="5,269,135,294"/>
<area shape="rect" href="ui__update_8c.html#a64ccaf85822f651235e20a08dfc2c500" title="SD / USB Host 检测插入介质" alt="" coords="215,130,317,156"/>
<area shape="rect" href="ui__update_8c.html#af7291cda4b568af469eecf3fbf3a7094" title="消息框弹出提示" alt="" coords="213,269,319,294"/>
<area shape="rect" href="ui__update_8c.html#a8c94ec74d3a5db5ae3daed2ce3a5feaa" title="USB Device MSC 处理线程" alt="" coords="183,394,349,420"/>
<area shape="rect" href="ui__update_8c.html#a69a8fdfac59efe32394ac287d886ad88" title="文件过滤器(仅针对外置存储)" alt="" coords="785,18,891,44"/>
<area shape="rect" href="load__file_8c.html#aebe4a0d647831986c734e1788150a064" title="为磁盘挂载文件系统" alt="" coords="435,130,510,156"/>
<area shape="rect" href="ui__update_8c.html#abed58d04a30c85fb2231dace9f928c23" title="列表内按钮" alt="" coords="397,74,548,100"/>
<area shape="rect" href="ui__update_8c.html#affa34b514b9ff8d1f0d4e1f92df3f221" title="在已打开的目录下, 进行非递归搜寻文件, 并在 list 上刷新显示(文件数量上限由用户指定)" alt="" coords="787,130,889,156"/>
<area shape="rect" href="load__file_8c.html#a51d572edecc93d80a160b93843fb5208" title="磁盘新建卷, 重置清空卷" alt="" coords="632,93,699,118"/>
<area shape="rect" href="load__file_8c.html#a2826c976bae07983300096521da284b4" title="为磁盘卸载文件系统" alt="" coords="621,142,710,168"/>
<area shape="rect" href="ui__update_8c.html#ad08f050acf50e741aaa931f61b7dc00f" title="列表内按钮回调" alt="" coords="623,44,708,69"/>
<area shape="rect" href="ui__update_8c.html#ad8390d39022fee758b6fb860c7906382" title="消息框事件回调" alt="" coords="409,293,536,318"/>
<area shape="rect" href="ui__update_8c.html#a623d03af25d3abe9fbe311d24d57ca28" title="消息框弹出期间的同步任务" alt="" coords="405,244,540,269"/>
<area shape="rect" href="_flash_disk_8c.html#a5ab90dc9341a1459125a15b506cfe35a" title="刷新脏缓冲区" alt="" coords="941,397,1053,422"/>
<area shape="rect" href="_mass_storage_8c.html#aa02df815c14caedbc2fd0a8910d2e055" title=" " alt="" coords="435,597,510,622"/>
<area shape="rect" href="_mass_storage_8c.html#acc63e729ab9145b644fc4da28a63636e" title=" " alt="" coords="407,445,539,470"/>
<area shape="rect" href="_s_p_i___w_b25_qxx_8c.html#a65571e7929b299af3a763c206a2c98b5" title="擦除 WB25Qxx 指定扇区地址" alt="" coords="1101,397,1263,422"/>
<area shape="rect" href="_s_p_i___w_b25_qxx_8c.html#a0465c5f017965876cf6ff8859eb2731f" title="初始化 WB25Qxx 使用的 SPI 接口, 并读取芯片 ID 等信息以判断其是否是 WB25Qxx 芯片" alt="" coords="1129,320,1235,345"/>
<area shape="rect" href="_s_p_i___w_b25_qxx_8c.html#a6af72df055a5bc71064719f68842f515" title="向 WB25Qxx 指定地址处写入指定个字节数据(写入前须保证待写入区域已被擦空)" alt="" coords="1107,446,1257,472"/>
<area shape="rect" href="_s_p_i___w_b25_qxx_8c.html#a39809b92887312675a23a33bf9329fce" title="芯片忙检测(执行擦除、写入操作后需要执行忙检测以判断芯片是否已经完成操作)" alt="" coords="1347,397,1476,422"/>
<area shape="rect" href="_s_p_i___w_b25_qxx_8c.html#ae31db601e8f25e65389adda808c61e8d" title="设置 WEL 位, 使能写入(必须在每个擦除、写入状态寄存器和擦除/编程安全寄存器指令之前设置)" alt="" coords="1328,446,1495,472"/>
<area shape="rect" href="_s_p_i___w_b25_qxx_8c.html#a04c55a0ea26c3794552069171a06f868" title="进入 QPI 模式" alt="" coords="1337,348,1486,373"/>
<area shape="rect" href="_s_p_i___w_b25_qxx_8c.html#a8f90491088e0e7053d211def3f87a330" title="读取芯片 JEDEC ID" alt="" coords="1318,169,1505,194"/>
<area shape="rect" href="_s_p_i___w_b25_qxx_8c.html#a026120f0fec011e2c302b114b5961b55" title="读取芯片厂商和设备 ID" alt="" coords="1311,219,1512,259"/>
<area shape="rect" href="_s_p_i___w_b25_qxx_8c.html#a8fa23417edd7b0324ad2a7f77913ed3a" title="设置 QPI 模式下适应对最大读取频率或最小数据访问延迟的读等待周期." alt="" coords="1324,283,1499,323"/>
<area shape="rect" href="_mass_storage_8c.html#af04531d1a1fb99d20e8f895f621a3eb2" title=" " alt="" coords="596,597,735,622"/>
<area shape="rect" href="dev__sfc_8c.html#aad5d116153c77313a1212733b556a578" title="初始化 SFC 将 外挂的SPI&#45;Flash 映射至 MCU 总线地址上" alt="" coords="966,496,1029,521"/>
<area shape="rect" href="dev__sfc_8c.html#aaa274c7312ab8789f8ad8f2feb6075dd" title="配置 SFC 模块以建立与 SPI&#45;Flash 的通讯" alt="" coords="1142,496,1222,521"/>
<area shape="rect" href="dev__sfc_8c.html#a3e07babe174017b09f2d82c4951172c8" title="配置 SFC 专用驱动端口" alt="" coords="1365,496,1457,521"/>
<area shape="rect" href="_flash_disk_8c.html#a7655b0f2f5afc564c640878be5a50d41" title="读取数据" alt="" coords="783,496,893,521"/>
<area shape="rect" href="_flash_disk_8c.html#ac9c9d4cc9fae5bccc09d1a80c7d42fc7" title="写入数据" alt="" coords="783,397,893,422"/>
<area shape="rect" href="_mass_storage_8c.html#a10afa6cfd9fc23db2b431ccf9f332f30" title=" " alt="" coords="817,446,859,472"/>
<area shape="rect" href="_mass_storage_8c.html#a27d5eea78a599a6b45519475e677ef2c" title=" " alt="" coords="606,496,725,521"/>
<area shape="rect" href="_flash_disk_8c.html#a10afa6cfd9fc23db2b431ccf9f332f30" title="比较两个值, 并返回较小的那个" alt="" coords="976,446,1019,472"/>
</map>
</div>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="ui__update_8c_ac4bb8b84a1ae2abc7bd0419c4345bca2_icgraph.png" border="0" usemap="#aui__update_8c_ac4bb8b84a1ae2abc7bd0419c4345bca2_icgraph" alt=""/></div>
<map name="aui__update_8c_ac4bb8b84a1ae2abc7bd0419c4345bca2_icgraph" id="aui__update_8c_ac4bb8b84a1ae2abc7bd0419c4345bca2_icgraph">
<area shape="rect" title="选择不同加载方式后, 由此函数执行分支跳转" alt="" coords="492,5,621,31"/>
<area shape="rect" href="ui__update_8c.html#a4b62aef18e10709cce125faee1b7dd52" title="文件管理器" alt="" coords="353,5,444,31"/>
<area shape="rect" href="ui__update_8c.html#aea66c53fcc188fefaa3470555db6aa05" title="启动 UI 引导加载界面, 挂载文件系统以实现 UI 素材导入/更新" alt="" coords="227,5,305,31"/>
<area shape="rect" href="main_8c.html#a8f1efe6291a27ae9b326f0c8a236c102" title="Go to User App Execute" alt="" coords="104,5,179,31"/>
<area shape="rect" href="main_8c.html#a840291bc02cba5474a4cb46a9b9566fe" title="C_Main" alt="" coords="5,5,56,31"/>
</map>
</div>

</div>
</div>
<a id="a3dbd73c82f05a5370635333b5ed68aea" name="a3dbd73c82f05a5370635333b5ed68aea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3dbd73c82f05a5370635333b5ed68aea">&#9670;&#160;</a></span>btn_click_cb()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static uint32_t btn_click_cb </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ui__update_8c.html#a79ab4c3b25e5db481221a48f8c8f89e0">btn_jump_t</a>&#160;</td>
          <td class="paramname"><em>btn_flag</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>点击不同的按钮后, 由此函数执行对应动作 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">btn_flag</td><td>: 按钮标志 </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>返回值</dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>: success </td></tr>
    <tr><td class="paramname">other</td><td>: error code </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l00651">651</a> 行定义.</p>
<div class="dynheader">
函数调用图:</div>
<div class="dyncontent">
<div class="center"><img src="ui__update_8c_a3dbd73c82f05a5370635333b5ed68aea_cgraph.png" border="0" usemap="#aui__update_8c_a3dbd73c82f05a5370635333b5ed68aea_cgraph" alt=""/></div>
<map name="aui__update_8c_a3dbd73c82f05a5370635333b5ed68aea_cgraph" id="aui__update_8c_a3dbd73c82f05a5370635333b5ed68aea_cgraph">
<area shape="rect" title="点击不同的按钮后, 由此函数执行对应动作" alt="" coords="5,179,100,204"/>
<area shape="rect" href="file__table_8c.html#a3b8264ecd2971c7f1409a78c16a80fff" title="按文件表依次验证磁盘文件" alt="" coords="172,5,287,31"/>
<area shape="rect" href="userboot_8c.html#a52a519a37465a7b4515a237114afa802" title="数据加密" alt="" coords="181,55,277,80"/>
<area shape="rect" href="userboot_8c.html#a759a4106353e92e06e9d15926228c576" title="固件下载 (外部 =&gt; 本地)" alt="" coords="164,104,295,129"/>
<area shape="rect" href="load__file_8c.html#a51d572edecc93d80a160b93843fb5208" title="磁盘新建卷, 重置清空卷" alt="" coords="196,153,263,179"/>
<area shape="rect" href="userboot_8c.html#acdd804b92809fcd58b2bc135fc74666c" title="跳转至 UserBoot 执行对应动作" alt="" coords="167,203,292,228"/>
<area shape="rect" href="ui__update_8c.html#af7291cda4b568af469eecf3fbf3a7094" title="消息框弹出提示" alt="" coords="177,252,282,277"/>
<area shape="rect" href="file__table_8c.html#ae9814059aade68167dd27fac6439fa67" title="按文件名链表拷贝文件并显示拷贝过程 UI" alt="" coords="154,301,305,327"/>
<area shape="rect" href="file__table_8c.html#a9f89967794eeb4df91c77da5f983e163" title="按文件表拷贝文件并显示拷贝过程 UI" alt="" coords="148,351,311,376"/>
<area shape="rect" href="userboot_8c.html#aeeea4715dd32a4a4ecdf61a2869d1307" title="计算 CRC 校验和" alt="" coords="377,104,475,129"/>
<area shape="rect" href="dev__crc_8c.html#a64e0abe6c28e0480424c1e467afb7430" title="计算 CRC32 校验和" alt="" coords="541,104,620,129"/>
<area shape="rect" href="userboot_8c.html#a01aae38566ae3dd519a6c18696ab2806" title="重启 MCU" alt="" coords="385,153,467,179"/>
<area shape="rect" href="userboot_8c.html#a9412f435ea365342178b2399fc08a846" title="写入固件信息, 并自带回读校验" alt="" coords="371,203,481,228"/>
<area shape="rect" href="ui__update_8c.html#ad8390d39022fee758b6fb860c7906382" title="消息框事件回调" alt="" coords="363,252,489,277"/>
<area shape="rect" href="ui__update_8c.html#a623d03af25d3abe9fbe311d24d57ca28" title="消息框弹出期间的同步任务" alt="" coords="359,301,493,327"/>
<area shape="rect" href="load__file_8c.html#a054ac4b07b339f1cda65d041546a46f2" title="拷贝文件" alt="" coords="389,351,463,376"/>
</map>
</div>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="ui__update_8c_a3dbd73c82f05a5370635333b5ed68aea_icgraph.png" border="0" usemap="#aui__update_8c_a3dbd73c82f05a5370635333b5ed68aea_icgraph" alt=""/></div>
<map name="aui__update_8c_a3dbd73c82f05a5370635333b5ed68aea_icgraph" id="aui__update_8c_a3dbd73c82f05a5370635333b5ed68aea_icgraph">
<area shape="rect" title="点击不同的按钮后, 由此函数执行对应动作" alt="" coords="492,5,587,31"/>
<area shape="rect" href="ui__update_8c.html#a4b62aef18e10709cce125faee1b7dd52" title="文件管理器" alt="" coords="353,5,444,31"/>
<area shape="rect" href="ui__update_8c.html#aea66c53fcc188fefaa3470555db6aa05" title="启动 UI 引导加载界面, 挂载文件系统以实现 UI 素材导入/更新" alt="" coords="227,5,305,31"/>
<area shape="rect" href="main_8c.html#a8f1efe6291a27ae9b326f0c8a236c102" title="Go to User App Execute" alt="" coords="104,5,179,31"/>
<area shape="rect" href="main_8c.html#a840291bc02cba5474a4cb46a9b9566fe" title="C_Main" alt="" coords="5,5,56,31"/>
</map>
</div>

</div>
</div>
<a id="abed58d04a30c85fb2231dace9f928c23" name="abed58d04a30c85fb2231dace9f928c23"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abed58d04a30c85fb2231dace9f928c23">&#9670;&#160;</a></span>list_btn_event_handler()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void list_btn_event_handler </td>
          <td>(</td>
          <td class="paramtype">lv_obj_t *&#160;</td>
          <td class="paramname"><em>obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">lv_event_t&#160;</td>
          <td class="paramname"><em>event</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>列表内按钮 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">obj</td><td>: 对象 </td></tr>
    <tr><td class="paramname">event</td><td>: 事件 </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>返回值</dt><dd>
  <table class="retval">
    <tr><td class="paramname">/</td><td></td></tr>
  </table>
  </dd>
</dl>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l00927">927</a> 行定义.</p>
<div class="dynheader">
函数调用图:</div>
<div class="dyncontent">
<div class="center"><img src="ui__update_8c_abed58d04a30c85fb2231dace9f928c23_cgraph.png" border="0" usemap="#aui__update_8c_abed58d04a30c85fb2231dace9f928c23_cgraph" alt=""/></div>
<map name="aui__update_8c_abed58d04a30c85fb2231dace9f928c23_cgraph" id="aui__update_8c_abed58d04a30c85fb2231dace9f928c23_cgraph">
<area shape="rect" title="列表内按钮" alt="" coords="5,31,156,56"/>
<area shape="rect" href="ui__update_8c.html#ad08f050acf50e741aaa931f61b7dc00f" title="列表内按钮回调" alt="" coords="204,31,289,56"/>
<area shape="rect" href="ui__update_8c.html#a69a8fdfac59efe32394ac287d886ad88" title="文件过滤器(仅针对外置存储)" alt="" coords="337,5,444,31"/>
<area shape="rect" href="ui__update_8c.html#affa34b514b9ff8d1f0d4e1f92df3f221" title="在已打开的目录下, 进行非递归搜寻文件, 并在 list 上刷新显示(文件数量上限由用户指定)" alt="" coords="340,55,441,80"/>
</map>
</div>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="ui__update_8c_abed58d04a30c85fb2231dace9f928c23_icgraph.png" border="0" usemap="#aui__update_8c_abed58d04a30c85fb2231dace9f928c23_icgraph" alt=""/></div>
<map name="aui__update_8c_abed58d04a30c85fb2231dace9f928c23_icgraph" id="aui__update_8c_abed58d04a30c85fb2231dace9f928c23_icgraph">
<area shape="rect" title="列表内按钮" alt="" coords="981,30,1132,56"/>
<area shape="rect" href="ui__update_8c.html#a4b62aef18e10709cce125faee1b7dd52" title="文件管理器" alt="" coords="353,30,444,56"/>
<area shape="rect" href="ui__update_8c.html#aca1c2b29944838c9ab089bc024f238dc" title="列表外按钮点击翻页&#45;下一页" alt="" coords="800,23,933,63"/>
<area shape="rect" href="ui__update_8c.html#a64ccaf85822f651235e20a08dfc2c500" title="SD / USB Host 检测插入介质" alt="" coords="816,88,917,113"/>
<area shape="rect" href="ui__update_8c.html#aea66c53fcc188fefaa3470555db6aa05" title="启动 UI 引导加载界面, 挂载文件系统以实现 UI 素材导入/更新" alt="" coords="227,30,305,56"/>
<area shape="rect" href="main_8c.html#a8f1efe6291a27ae9b326f0c8a236c102" title="Go to User App Execute" alt="" coords="104,30,179,56"/>
<area shape="rect" href="main_8c.html#a840291bc02cba5474a4cb46a9b9566fe" title="C_Main" alt="" coords="5,30,56,56"/>
<area shape="rect" href="ui__update_8c.html#abdb62d45c4cace1544f52cdacda45f24" title="注册本页面具备事件回调的控件" alt="" coords="669,30,752,56"/>
<area shape="rect" href="ui__update_8c.html#a0914c8a5cdee556dcabd181982c81260" title="创建本页面所用控件布局" alt="" coords="499,30,614,56"/>
<area shape="rect" href="ui__update_8c.html#ac4bb8b84a1ae2abc7bd0419c4345bca2" title="选择不同加载方式后, 由此函数执行分支跳转" alt="" coords="492,80,621,105"/>
</map>
</div>

</div>
</div>
<a id="a106a57df6249072c630361740348469e" name="a106a57df6249072c630361740348469e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a106a57df6249072c630361740348469e">&#9670;&#160;</a></span>clean_scr_page()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void clean_scr_page </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structlv__ui.html">lv_ui</a> *&#160;</td>
          <td class="paramname"><em>ui</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>销毁本页面所有控件 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">ui</td><td>: 页面 </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>返回值</dt><dd>
  <table class="retval">
    <tr><td class="paramname">/</td><td></td></tr>
  </table>
  </dd>
</dl>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l00993">993</a> 行定义.</p>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="ui__update_8c_a106a57df6249072c630361740348469e_icgraph.png" border="0" usemap="#aui__update_8c_a106a57df6249072c630361740348469e_icgraph" alt=""/></div>
<map name="aui__update_8c_a106a57df6249072c630361740348469e_icgraph" id="aui__update_8c_a106a57df6249072c630361740348469e_icgraph">
<area shape="rect" title="销毁本页面所有控件" alt="" coords="492,5,605,31"/>
<area shape="rect" href="ui__update_8c.html#a4b62aef18e10709cce125faee1b7dd52" title="文件管理器" alt="" coords="353,5,444,31"/>
<area shape="rect" href="ui__update_8c.html#aea66c53fcc188fefaa3470555db6aa05" title="启动 UI 引导加载界面, 挂载文件系统以实现 UI 素材导入/更新" alt="" coords="227,5,305,31"/>
<area shape="rect" href="main_8c.html#a8f1efe6291a27ae9b326f0c8a236c102" title="Go to User App Execute" alt="" coords="104,5,179,31"/>
<area shape="rect" href="main_8c.html#a840291bc02cba5474a4cb46a9b9566fe" title="C_Main" alt="" coords="5,5,56,31"/>
</map>
</div>

</div>
</div>
<a id="a0914c8a5cdee556dcabd181982c81260" name="a0914c8a5cdee556dcabd181982c81260"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0914c8a5cdee556dcabd181982c81260">&#9670;&#160;</a></span>setup_scr_page()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void setup_scr_page </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structlv__ui.html">lv_ui</a> *&#160;</td>
          <td class="paramname"><em>ui</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>创建本页面所用控件布局 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">ui</td><td>: 页面 </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>返回值</dt><dd>
  <table class="retval">
    <tr><td class="paramname">/</td><td></td></tr>
  </table>
  </dd>
</dl>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l01004">1004</a> 行定义.</p>
<div class="dynheader">
函数调用图:</div>
<div class="dyncontent">
<div class="center"><img src="ui__update_8c_a0914c8a5cdee556dcabd181982c81260_cgraph.png" border="0" usemap="#aui__update_8c_a0914c8a5cdee556dcabd181982c81260_cgraph" alt=""/></div>
<map name="aui__update_8c_a0914c8a5cdee556dcabd181982c81260_cgraph" id="aui__update_8c_a0914c8a5cdee556dcabd181982c81260_cgraph">
<area shape="rect" title="创建本页面所用控件布局" alt="" coords="5,55,120,80"/>
<area shape="rect" href="ui__update_8c.html#abdb62d45c4cace1544f52cdacda45f24" title="注册本页面具备事件回调的控件" alt="" coords="168,55,251,80"/>
<area shape="rect" href="ui__update_8c.html#a797b333b12a40decb2c24f829053576e" title="独立功能按钮" alt="" coords="302,5,429,31"/>
<area shape="rect" href="ui__update_8c.html#ab134d9ef6a82138c238684cb0af31fde" title="下拉选择加载方式" alt="" coords="304,55,427,80"/>
<area shape="rect" href="ui__update_8c.html#aca1c2b29944838c9ab089bc024f238dc" title="列表外按钮点击翻页&#45;下一页" alt="" coords="299,105,432,145"/>
<area shape="rect" href="ui__update_8c.html#a69a8fdfac59efe32394ac287d886ad88" title="文件过滤器(仅针对外置存储)" alt="" coords="812,88,919,113"/>
<area shape="rect" href="ui__update_8c.html#abed58d04a30c85fb2231dace9f928c23" title="列表内按钮" alt="" coords="480,112,631,137"/>
<area shape="rect" href="ui__update_8c.html#affa34b514b9ff8d1f0d4e1f92df3f221" title="在已打开的目录下, 进行非递归搜寻文件, 并在 list 上刷新显示(文件数量上限由用户指定)" alt="" coords="815,137,916,163"/>
<area shape="rect" href="ui__update_8c.html#ad08f050acf50e741aaa931f61b7dc00f" title="列表内按钮回调" alt="" coords="679,112,764,137"/>
</map>
</div>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="ui__update_8c_a0914c8a5cdee556dcabd181982c81260_icgraph.png" border="0" usemap="#aui__update_8c_a0914c8a5cdee556dcabd181982c81260_icgraph" alt=""/></div>
<map name="aui__update_8c_a0914c8a5cdee556dcabd181982c81260_icgraph" id="aui__update_8c_a0914c8a5cdee556dcabd181982c81260_icgraph">
<area shape="rect" title="创建本页面所用控件布局" alt="" coords="492,5,607,31"/>
<area shape="rect" href="ui__update_8c.html#a4b62aef18e10709cce125faee1b7dd52" title="文件管理器" alt="" coords="353,5,444,31"/>
<area shape="rect" href="ui__update_8c.html#aea66c53fcc188fefaa3470555db6aa05" title="启动 UI 引导加载界面, 挂载文件系统以实现 UI 素材导入/更新" alt="" coords="227,5,305,31"/>
<area shape="rect" href="main_8c.html#a8f1efe6291a27ae9b326f0c8a236c102" title="Go to User App Execute" alt="" coords="104,5,179,31"/>
<area shape="rect" href="main_8c.html#a840291bc02cba5474a4cb46a9b9566fe" title="C_Main" alt="" coords="5,5,56,31"/>
</map>
</div>

</div>
</div>
<a id="af7291cda4b568af469eecf3fbf3a7094" name="af7291cda4b568af469eecf3fbf3a7094"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af7291cda4b568af469eecf3fbf3a7094">&#9670;&#160;</a></span>msgbox_show()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void msgbox_show </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>msg_text</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char **&#160;</td>
          <td class="paramname"><em>btn_text</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const uint32_t&#160;</td>
          <td class="paramname"><em>wait_ms</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="ui__update_8c.html#a81fe2f73bce795df8ef1757fc170902a">msgbox_sync_cb</a>&#160;</td>
          <td class="paramname"><em>user_cb</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>消息框弹出提示 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">msg_text</td><td>: 提示文本 </td></tr>
    <tr><td class="paramname">btn_text</td><td>: 按钮文本(支持多个按钮, 最后一个按钮文本必须以 "" 结尾) </td></tr>
    <tr><td class="paramname">wait_ms</td><td>: 自动关闭时长(若为 0 , 则表示失能自动关闭, 直至用户点击按钮才会关闭) </td></tr>
    <tr><td class="paramname">user_cb</td><td>: 消息框展示期间, 同步执行 user_cb (若为 NULL, 则表示不执行/无任务执行) </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>返回值</dt><dd>
  <table class="retval">
    <tr><td class="paramname">/</td><td></td></tr>
  </table>
  </dd>
</dl>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l01201">1201</a> 行定义.</p>
<div class="dynheader">
函数调用图:</div>
<div class="dyncontent">
<div class="center"><img src="ui__update_8c_af7291cda4b568af469eecf3fbf3a7094_cgraph.png" border="0" usemap="#aui__update_8c_af7291cda4b568af469eecf3fbf3a7094_cgraph" alt=""/></div>
<map name="aui__update_8c_af7291cda4b568af469eecf3fbf3a7094_cgraph" id="aui__update_8c_af7291cda4b568af469eecf3fbf3a7094_cgraph">
<area shape="rect" title="消息框弹出提示" alt="" coords="5,31,111,56"/>
<area shape="rect" href="ui__update_8c.html#ad8390d39022fee758b6fb860c7906382" title="消息框事件回调" alt="" coords="163,5,289,31"/>
<area shape="rect" href="ui__update_8c.html#a623d03af25d3abe9fbe311d24d57ca28" title="消息框弹出期间的同步任务" alt="" coords="159,55,293,80"/>
</map>
</div>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="ui__update_8c_af7291cda4b568af469eecf3fbf3a7094_icgraph.png" border="0" usemap="#aui__update_8c_af7291cda4b568af469eecf3fbf3a7094_icgraph" alt=""/></div>
<map name="aui__update_8c_af7291cda4b568af469eecf3fbf3a7094_icgraph" id="aui__update_8c_af7291cda4b568af469eecf3fbf3a7094_icgraph">
<area shape="rect" title="消息框弹出提示" alt="" coords="669,56,775,81"/>
<area shape="rect" href="ui__update_8c.html#a3dbd73c82f05a5370635333b5ed68aea" title="点击不同的按钮后, 由此函数执行对应动作" alt="" coords="509,5,604,31"/>
<area shape="rect" href="ui__update_8c.html#a4b62aef18e10709cce125faee1b7dd52" title="文件管理器" alt="" coords="353,56,444,81"/>
<area shape="rect" href="ui__update_8c.html#ac4bb8b84a1ae2abc7bd0419c4345bca2" title="选择不同加载方式后, 由此函数执行分支跳转" alt="" coords="492,107,621,132"/>
<area shape="rect" href="ui__update_8c.html#aea66c53fcc188fefaa3470555db6aa05" title="启动 UI 引导加载界面, 挂载文件系统以实现 UI 素材导入/更新" alt="" coords="227,56,305,81"/>
<area shape="rect" href="main_8c.html#a8f1efe6291a27ae9b326f0c8a236c102" title="Go to User App Execute" alt="" coords="104,56,179,81"/>
<area shape="rect" href="main_8c.html#a840291bc02cba5474a4cb46a9b9566fe" title="C_Main" alt="" coords="5,56,56,81"/>
</map>
</div>

</div>
</div>
<a id="aa4a4950571bee2848a2e95de6c8ec03c" name="aa4a4950571bee2848a2e95de6c8ec03c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa4a4950571bee2848a2e95de6c8ec03c">&#9670;&#160;</a></span>msgbox_recv_btn()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static uint8_t msgbox_recv_btn </td>
          <td>(</td>
          <td class="paramtype">uint16_t *&#160;</td>
          <td class="paramname"><em>id</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a69a8fdfac59efe32394ac287d886ad88" name="a69a8fdfac59efe32394ac287d886ad88"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a69a8fdfac59efe32394ac287d886ad88">&#9670;&#160;</a></span>file_filter_move()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static uint8_t file_filter_move </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>path</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>文件过滤器(仅针对外置存储) </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">path</td><td>: 待过滤文件名 </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>返回值</dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>: 通过过滤 </td></tr>
    <tr><td class="paramname">other</td><td>: 被滤除 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>注解</dt><dd>目前仅保留 开机视频 &amp; 开机动画 &amp; 主菜单中 产品应用子菜单下 的 全屏测试图 &amp; UserBoot 固件, 后续可调整为自定义设置 </dd></dl>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l00250">250</a> 行定义.</p>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="ui__update_8c_a69a8fdfac59efe32394ac287d886ad88_icgraph.png" border="0" usemap="#aui__update_8c_a69a8fdfac59efe32394ac287d886ad88_icgraph" alt=""/></div>
<map name="aui__update_8c_a69a8fdfac59efe32394ac287d886ad88_icgraph" id="aui__update_8c_a69a8fdfac59efe32394ac287d886ad88_icgraph">
<area shape="rect" title="文件过滤器(仅针对外置存储)" alt="" coords="1313,93,1420,118"/>
<area shape="rect" href="ui__update_8c.html#a4b62aef18e10709cce125faee1b7dd52" title="文件管理器" alt="" coords="353,74,444,99"/>
<area shape="rect" href="ui__update_8c.html#ad08f050acf50e741aaa931f61b7dc00f" title="列表内按钮回调" alt="" coords="1180,67,1265,93"/>
<area shape="rect" href="ui__update_8c.html#aca1c2b29944838c9ab089bc024f238dc" title="列表外按钮点击翻页&#45;下一页" alt="" coords="800,99,933,139"/>
<area shape="rect" href="ui__update_8c.html#a64ccaf85822f651235e20a08dfc2c500" title="SD / USB Host 检测插入介质" alt="" coords="816,163,917,189"/>
<area shape="rect" href="ui__update_8c.html#aea66c53fcc188fefaa3470555db6aa05" title="启动 UI 引导加载界面, 挂载文件系统以实现 UI 素材导入/更新" alt="" coords="227,74,305,99"/>
<area shape="rect" href="main_8c.html#a8f1efe6291a27ae9b326f0c8a236c102" title="Go to User App Execute" alt="" coords="104,74,179,99"/>
<area shape="rect" href="main_8c.html#a840291bc02cba5474a4cb46a9b9566fe" title="C_Main" alt="" coords="5,74,56,99"/>
<area shape="rect" href="ui__update_8c.html#abed58d04a30c85fb2231dace9f928c23" title="列表内按钮" alt="" coords="981,67,1132,93"/>
<area shape="rect" href="ui__update_8c.html#abdb62d45c4cace1544f52cdacda45f24" title="注册本页面具备事件回调的控件" alt="" coords="669,103,752,129"/>
<area shape="rect" href="ui__update_8c.html#a0914c8a5cdee556dcabd181982c81260" title="创建本页面所用控件布局" alt="" coords="499,102,614,127"/>
<area shape="rect" href="ui__update_8c.html#ac4bb8b84a1ae2abc7bd0419c4345bca2" title="选择不同加载方式后, 由此函数执行分支跳转" alt="" coords="492,151,621,177"/>
</map>
</div>

</div>
</div>
<a id="aea66c53fcc188fefaa3470555db6aa05" name="aea66c53fcc188fefaa3470555db6aa05"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aea66c53fcc188fefaa3470555db6aa05">&#9670;&#160;</a></span>ui_update()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t ui_update </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>启动 UI 引导加载界面, 挂载文件系统以实现 UI 素材导入/更新 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname"></td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>返回值</dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>: success </td></tr>
    <tr><td class="paramname">other</td><td>: error code </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>注解</dt><dd>该功能为可选模块, 用户若不在规定时间内点击进入本功能, 将会超时自动跳出 </dd></dl>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l00288">288</a> 行定义.</p>
<div class="dynheader">
函数调用图:</div>
<div class="dyncontent">
<div class="center"><img src="ui__update_8c_aea66c53fcc188fefaa3470555db6aa05_cgraph.png" border="0" usemap="#aui__update_8c_aea66c53fcc188fefaa3470555db6aa05_cgraph" alt=""/></div>
<map name="aui__update_8c_aea66c53fcc188fefaa3470555db6aa05_cgraph" id="aui__update_8c_aea66c53fcc188fefaa3470555db6aa05_cgraph">
<area shape="rect" title="启动 UI 引导加载界面, 挂载文件系统以实现 UI 素材导入/更新" alt="" coords="5,533,84,559"/>
<area shape="rect" href="ui__update_8c.html#a1a09f4ed59173b0220ba241a673ea3ec" title="开机启动引导消息框选择回调" alt="" coords="132,508,281,533"/>
<area shape="rect" href="ui__update_8c.html#a4b62aef18e10709cce125faee1b7dd52" title="文件管理器" alt="" coords="161,557,252,583"/>
<area shape="rect" href="ui__update_8c.html#a3dbd73c82f05a5370635333b5ed68aea" title="点击不同的按钮后, 由此函数执行对应动作" alt="" coords="347,255,441,280"/>
<area shape="rect" href="ui__update_8c.html#af7291cda4b568af469eecf3fbf3a7094" title="消息框弹出提示" alt="" coords="537,403,643,428"/>
<area shape="rect" href="ui__update_8c.html#a106a57df6249072c630361740348469e" title="销毁本页面所有控件" alt="" coords="337,456,451,481"/>
<area shape="rect" href="ui__update_8c.html#ac4bb8b84a1ae2abc7bd0419c4345bca2" title="选择不同加载方式后, 由此函数执行分支跳转" alt="" coords="329,557,459,583"/>
<area shape="rect" href="ui__update_8c.html#a69a8fdfac59efe32394ac287d886ad88" title="文件过滤器(仅针对外置存储)" alt="" coords="1264,696,1371,721"/>
<area shape="rect" href="load__file_8c.html#aebe4a0d647831986c734e1788150a064" title="为磁盘挂载文件系统" alt="" coords="751,383,826,408"/>
<area shape="rect" href="ui__update_8c.html#abed58d04a30c85fb2231dace9f928c23" title="列表内按钮" alt="" coords="904,784,1055,809"/>
<area shape="rect" href="ui__update_8c.html#affa34b514b9ff8d1f0d4e1f92df3f221" title="在已打开的目录下, 进行非递归搜寻文件, 并在 list 上刷新显示(文件数量上限由用户指定)" alt="" coords="1267,860,1368,885"/>
<area shape="rect" href="ui__update_8c.html#a0914c8a5cdee556dcabd181982c81260" title="创建本页面所用控件布局" alt="" coords="337,987,451,1012"/>
<area shape="rect" href="file__table_8c.html#a3b8264ecd2971c7f1409a78c16a80fff" title="按文件表依次验证磁盘文件" alt="" coords="533,255,647,280"/>
<area shape="rect" href="userboot_8c.html#a52a519a37465a7b4515a237114afa802" title="数据加密" alt="" coords="542,304,638,329"/>
<area shape="rect" href="userboot_8c.html#a759a4106353e92e06e9d15926228c576" title="固件下载 (外部 =&gt; 本地)" alt="" coords="525,104,655,129"/>
<area shape="rect" href="load__file_8c.html#a51d572edecc93d80a160b93843fb5208" title="磁盘新建卷, 重置清空卷" alt="" coords="946,153,1013,179"/>
<area shape="rect" href="userboot_8c.html#acdd804b92809fcd58b2bc135fc74666c" title="跳转至 UserBoot 执行对应动作" alt="" coords="527,55,653,80"/>
<area shape="rect" href="file__table_8c.html#ae9814059aade68167dd27fac6439fa67" title="按文件名链表拷贝文件并显示拷贝过程 UI" alt="" coords="515,353,665,379"/>
<area shape="rect" href="file__table_8c.html#a9f89967794eeb4df91c77da5f983e163" title="按文件表拷贝文件并显示拷贝过程 UI" alt="" coords="509,205,671,231"/>
<area shape="rect" href="userboot_8c.html#aeeea4715dd32a4a4ecdf61a2869d1307" title="计算 CRC 校验和" alt="" coords="739,104,838,129"/>
<area shape="rect" href="dev__crc_8c.html#a64e0abe6c28e0480424c1e467afb7430" title="计算 CRC32 校验和" alt="" coords="940,104,1019,129"/>
<area shape="rect" href="userboot_8c.html#a01aae38566ae3dd519a6c18696ab2806" title="重启 MCU" alt="" coords="747,5,830,31"/>
<area shape="rect" href="userboot_8c.html#a9412f435ea365342178b2399fc08a846" title="写入固件信息, 并自带回读校验" alt="" coords="733,55,844,80"/>
<area shape="rect" href="ui__update_8c.html#ad8390d39022fee758b6fb860c7906382" title="消息框事件回调" alt="" coords="725,333,852,359"/>
<area shape="rect" href="ui__update_8c.html#a623d03af25d3abe9fbe311d24d57ca28" title="消息框弹出期间的同步任务" alt="" coords="721,284,856,309"/>
<area shape="rect" href="load__file_8c.html#a054ac4b07b339f1cda65d041546a46f2" title="拷贝文件" alt="" coords="752,220,825,245"/>
<area shape="rect" href="ui__update_8c.html#a64ccaf85822f651235e20a08dfc2c500" title="SD / USB Host 检测插入介质" alt="" coords="539,608,641,633"/>
<area shape="rect" href="ui__update_8c.html#a8c94ec74d3a5db5ae3daed2ce3a5feaa" title="USB Device MSC 处理线程" alt="" coords="507,557,673,583"/>
<area shape="rect" href="load__file_8c.html#a2826c976bae07983300096521da284b4" title="为磁盘卸载文件系统" alt="" coords="935,203,1024,228"/>
<area shape="rect" href="ui__update_8c.html#ad08f050acf50e741aaa931f61b7dc00f" title="列表内按钮回调" alt="" coords="1115,784,1201,809"/>
<area shape="rect" href="_flash_disk_8c.html#a5ab90dc9341a1459125a15b506cfe35a" title="刷新脏缓冲区" alt="" coords="1261,456,1373,481"/>
<area shape="rect" href="_mass_storage_8c.html#aa02df815c14caedbc2fd0a8910d2e055" title=" " alt="" coords="751,432,826,457"/>
<area shape="rect" href="_mass_storage_8c.html#acc63e729ab9145b644fc4da28a63636e" title=" " alt="" coords="723,481,855,507"/>
<area shape="rect" href="_s_p_i___w_b25_qxx_8c.html#a65571e7929b299af3a763c206a2c98b5" title="擦除 WB25Qxx 指定扇区地址" alt="" coords="1421,407,1583,432"/>
<area shape="rect" href="_s_p_i___w_b25_qxx_8c.html#a0465c5f017965876cf6ff8859eb2731f" title="初始化 WB25Qxx 使用的 SPI 接口, 并读取芯片 ID 等信息以判断其是否是 WB25Qxx 芯片" alt="" coords="1449,456,1555,481"/>
<area shape="rect" href="_s_p_i___w_b25_qxx_8c.html#a6af72df055a5bc71064719f68842f515" title="向 WB25Qxx 指定地址处写入指定个字节数据(写入前须保证待写入区域已被擦空)" alt="" coords="1427,505,1577,531"/>
<area shape="rect" href="_s_p_i___w_b25_qxx_8c.html#a39809b92887312675a23a33bf9329fce" title="芯片忙检测(执行擦除、写入操作后需要执行忙检测以判断芯片是否已经完成操作)" alt="" coords="1659,407,1789,432"/>
<area shape="rect" href="_s_p_i___w_b25_qxx_8c.html#ae31db601e8f25e65389adda808c61e8d" title="设置 WEL 位, 使能写入(必须在每个擦除、写入状态寄存器和擦除/编程安全寄存器指令之前设置)" alt="" coords="1641,357,1807,383"/>
<area shape="rect" href="_s_p_i___w_b25_qxx_8c.html#a04c55a0ea26c3794552069171a06f868" title="进入 QPI 模式" alt="" coords="1649,456,1799,481"/>
<area shape="rect" href="_s_p_i___w_b25_qxx_8c.html#a8f90491088e0e7053d211def3f87a330" title="读取芯片 JEDEC ID" alt="" coords="1631,505,1817,531"/>
<area shape="rect" href="_mass_storage_8c.html#af04531d1a1fb99d20e8f895f621a3eb2" title=" " alt="" coords="910,304,1049,329"/>
<area shape="rect" href="dev__sfc_8c.html#aad5d116153c77313a1212733b556a578" title="初始化 SFC 将 外挂的SPI&#45;Flash 映射至 MCU 总线地址上" alt="" coords="1286,356,1349,381"/>
<area shape="rect" href="_flash_disk_8c.html#a7655b0f2f5afc564c640878be5a50d41" title="读取数据" alt="" coords="1103,456,1213,481"/>
<area shape="rect" href="_flash_disk_8c.html#ac9c9d4cc9fae5bccc09d1a80c7d42fc7" title="写入数据" alt="" coords="1103,356,1213,381"/>
<area shape="rect" href="_mass_storage_8c.html#a10afa6cfd9fc23db2b431ccf9f332f30" title=" " alt="" coords="1137,407,1179,432"/>
<area shape="rect" href="_mass_storage_8c.html#a27d5eea78a599a6b45519475e677ef2c" title=" " alt="" coords="920,456,1039,481"/>
<area shape="rect" href="ui__update_8c.html#abdb62d45c4cace1544f52cdacda45f24" title="注册本页面具备事件回调的控件" alt="" coords="549,987,631,1012"/>
<area shape="rect" href="ui__update_8c.html#a797b333b12a40decb2c24f829053576e" title="独立功能按钮" alt="" coords="725,1036,852,1061"/>
<area shape="rect" href="ui__update_8c.html#ab134d9ef6a82138c238684cb0af31fde" title="下拉选择加载方式" alt="" coords="727,987,850,1012"/>
<area shape="rect" href="ui__update_8c.html#aca1c2b29944838c9ab089bc024f238dc" title="列表外按钮点击翻页&#45;下一页" alt="" coords="722,866,855,906"/>
</map>
</div>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="ui__update_8c_aea66c53fcc188fefaa3470555db6aa05_icgraph.png" border="0" usemap="#aui__update_8c_aea66c53fcc188fefaa3470555db6aa05_icgraph" alt=""/></div>
<map name="aui__update_8c_aea66c53fcc188fefaa3470555db6aa05_icgraph" id="aui__update_8c_aea66c53fcc188fefaa3470555db6aa05_icgraph">
<area shape="rect" title="启动 UI 引导加载界面, 挂载文件系统以实现 UI 素材导入/更新" alt="" coords="227,5,305,31"/>
<area shape="rect" href="main_8c.html#a8f1efe6291a27ae9b326f0c8a236c102" title="Go to User App Execute" alt="" coords="104,5,179,31"/>
<area shape="rect" href="main_8c.html#a840291bc02cba5474a4cb46a9b9566fe" title="C_Main" alt="" coords="5,5,56,31"/>
</map>
</div>

</div>
</div>
<a id="a8c94ec74d3a5db5ae3daed2ce3a5feaa" name="a8c94ec74d3a5db5ae3daed2ce3a5feaa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8c94ec74d3a5db5ae3daed2ce3a5feaa">&#9670;&#160;</a></span>usb_device_msc_handler()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static uint8_t usb_device_msc_handler </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>USB Device MSC 处理线程 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">/</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>返回值</dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>: success over </td></tr>
    <tr><td class="paramname">other</td><td>: no over </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l00446">446</a> 行定义.</p>
<div class="dynheader">
函数调用图:</div>
<div class="dyncontent">
<div class="center"><img src="ui__update_8c_a8c94ec74d3a5db5ae3daed2ce3a5feaa_cgraph.png" border="0" usemap="#aui__update_8c_a8c94ec74d3a5db5ae3daed2ce3a5feaa_cgraph" alt=""/></div>
<map name="aui__update_8c_a8c94ec74d3a5db5ae3daed2ce3a5feaa_cgraph" id="aui__update_8c_a8c94ec74d3a5db5ae3daed2ce3a5feaa_cgraph">
<area shape="rect" title="USB Device MSC 处理线程" alt="" coords="5,208,172,233"/>
<area shape="rect" href="_flash_disk_8c.html#a5ab90dc9341a1459125a15b506cfe35a" title="刷新脏缓冲区" alt="" coords="745,233,857,259"/>
<area shape="rect" href="_mass_storage_8c.html#aa02df815c14caedbc2fd0a8910d2e055" title=" " alt="" coords="249,335,323,360"/>
<area shape="rect" href="_mass_storage_8c.html#acc63e729ab9145b644fc4da28a63636e" title=" " alt="" coords="220,208,352,233"/>
<area shape="rect" href="_s_p_i___w_b25_qxx_8c.html#a65571e7929b299af3a763c206a2c98b5" title="擦除 WB25Qxx 指定扇区地址" alt="" coords="905,233,1067,259"/>
<area shape="rect" href="_s_p_i___w_b25_qxx_8c.html#a0465c5f017965876cf6ff8859eb2731f" title="初始化 WB25Qxx 使用的 SPI 接口, 并读取芯片 ID 等信息以判断其是否是 WB25Qxx 芯片" alt="" coords="933,156,1039,181"/>
<area shape="rect" href="_s_p_i___w_b25_qxx_8c.html#a6af72df055a5bc71064719f68842f515" title="向 WB25Qxx 指定地址处写入指定个字节数据(写入前须保证待写入区域已被擦空)" alt="" coords="911,283,1061,308"/>
<area shape="rect" href="_s_p_i___w_b25_qxx_8c.html#a39809b92887312675a23a33bf9329fce" title="芯片忙检测(执行擦除、写入操作后需要执行忙检测以判断芯片是否已经完成操作)" alt="" coords="1151,233,1280,259"/>
<area shape="rect" href="_s_p_i___w_b25_qxx_8c.html#ae31db601e8f25e65389adda808c61e8d" title="设置 WEL 位, 使能写入(必须在每个擦除、写入状态寄存器和擦除/编程安全寄存器指令之前设置)" alt="" coords="1132,283,1299,308"/>
<area shape="rect" href="_s_p_i___w_b25_qxx_8c.html#a04c55a0ea26c3794552069171a06f868" title="进入 QPI 模式" alt="" coords="1141,184,1290,209"/>
<area shape="rect" href="_s_p_i___w_b25_qxx_8c.html#a8f90491088e0e7053d211def3f87a330" title="读取芯片 JEDEC ID" alt="" coords="1122,5,1309,31"/>
<area shape="rect" href="_s_p_i___w_b25_qxx_8c.html#a026120f0fec011e2c302b114b5961b55" title="读取芯片厂商和设备 ID" alt="" coords="1115,55,1316,95"/>
<area shape="rect" href="_s_p_i___w_b25_qxx_8c.html#a8fa23417edd7b0324ad2a7f77913ed3a" title="设置 QPI 模式下适应对最大读取频率或最小数据访问延迟的读等待周期." alt="" coords="1128,119,1303,159"/>
<area shape="rect" href="_mass_storage_8c.html#af04531d1a1fb99d20e8f895f621a3eb2" title=" " alt="" coords="400,385,539,411"/>
<area shape="rect" href="dev__sfc_8c.html#aad5d116153c77313a1212733b556a578" title="初始化 SFC 将 外挂的SPI&#45;Flash 映射至 MCU 总线地址上" alt="" coords="770,332,833,357"/>
<area shape="rect" href="dev__sfc_8c.html#aaa274c7312ab8789f8ad8f2feb6075dd" title="配置 SFC 模块以建立与 SPI&#45;Flash 的通讯" alt="" coords="946,332,1026,357"/>
<area shape="rect" href="dev__sfc_8c.html#a3e07babe174017b09f2d82c4951172c8" title="配置 SFC 专用驱动端口" alt="" coords="1169,332,1261,357"/>
<area shape="rect" href="_flash_disk_8c.html#a7655b0f2f5afc564c640878be5a50d41" title="读取数据" alt="" coords="587,233,697,259"/>
<area shape="rect" href="_flash_disk_8c.html#ac9c9d4cc9fae5bccc09d1a80c7d42fc7" title="写入数据" alt="" coords="587,283,697,308"/>
<area shape="rect" href="_mass_storage_8c.html#a10afa6cfd9fc23db2b431ccf9f332f30" title=" " alt="" coords="621,157,663,183"/>
<area shape="rect" href="_mass_storage_8c.html#a27d5eea78a599a6b45519475e677ef2c" title=" " alt="" coords="410,183,529,208"/>
<area shape="rect" href="_flash_disk_8c.html#a10afa6cfd9fc23db2b431ccf9f332f30" title="比较两个值, 并返回较小的那个" alt="" coords="780,283,823,308"/>
</map>
</div>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="ui__update_8c_a8c94ec74d3a5db5ae3daed2ce3a5feaa_icgraph.png" border="0" usemap="#aui__update_8c_a8c94ec74d3a5db5ae3daed2ce3a5feaa_icgraph" alt=""/></div>
<map name="aui__update_8c_a8c94ec74d3a5db5ae3daed2ce3a5feaa_icgraph" id="aui__update_8c_a8c94ec74d3a5db5ae3daed2ce3a5feaa_icgraph">
<area shape="rect" title="USB Device MSC 处理线程" alt="" coords="669,5,836,31"/>
<area shape="rect" href="ui__update_8c.html#ac4bb8b84a1ae2abc7bd0419c4345bca2" title="选择不同加载方式后, 由此函数执行分支跳转" alt="" coords="492,5,621,31"/>
<area shape="rect" href="ui__update_8c.html#a4b62aef18e10709cce125faee1b7dd52" title="文件管理器" alt="" coords="353,5,444,31"/>
<area shape="rect" href="ui__update_8c.html#aea66c53fcc188fefaa3470555db6aa05" title="启动 UI 引导加载界面, 挂载文件系统以实现 UI 素材导入/更新" alt="" coords="227,5,305,31"/>
<area shape="rect" href="main_8c.html#a8f1efe6291a27ae9b326f0c8a236c102" title="Go to User App Execute" alt="" coords="104,5,179,31"/>
<area shape="rect" href="main_8c.html#a840291bc02cba5474a4cb46a9b9566fe" title="C_Main" alt="" coords="5,5,56,31"/>
</map>
</div>

</div>
</div>
<a id="a64ccaf85822f651235e20a08dfc2c500" name="a64ccaf85822f651235e20a08dfc2c500"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a64ccaf85822f651235e20a08dfc2c500">&#9670;&#160;</a></span>move_handler()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static uint8_t move_handler </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>SD / USB Host 检测插入介质 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">/</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>返回值</dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>: success over </td></tr>
    <tr><td class="paramname">other</td><td>: no over </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l00476">476</a> 行定义.</p>
<div class="dynheader">
函数调用图:</div>
<div class="dyncontent">
<div class="center"><img src="ui__update_8c_a64ccaf85822f651235e20a08dfc2c500_cgraph.png" border="0" usemap="#aui__update_8c_a64ccaf85822f651235e20a08dfc2c500_cgraph" alt=""/></div>
<map name="aui__update_8c_a64ccaf85822f651235e20a08dfc2c500_cgraph" id="aui__update_8c_a64ccaf85822f651235e20a08dfc2c500_cgraph">
<area shape="rect" title="SD / USB Host 检测插入介质" alt="" coords="5,106,107,131"/>
<area shape="rect" href="ui__update_8c.html#a69a8fdfac59efe32394ac287d886ad88" title="文件过滤器(仅针对外置存储)" alt="" coords="491,118,597,143"/>
<area shape="rect" href="load__file_8c.html#aebe4a0d647831986c734e1788150a064" title="为磁盘挂载文件系统" alt="" coords="193,69,267,94"/>
<area shape="rect" href="ui__update_8c.html#abed58d04a30c85fb2231dace9f928c23" title="列表内按钮" alt="" coords="155,142,305,167"/>
<area shape="rect" href="ui__update_8c.html#affa34b514b9ff8d1f0d4e1f92df3f221" title="在已打开的目录下, 进行非递归搜寻文件, 并在 list 上刷新显示(文件数量上限由用户指定)" alt="" coords="493,167,595,193"/>
<area shape="rect" href="load__file_8c.html#a51d572edecc93d80a160b93843fb5208" title="磁盘新建卷, 重置清空卷" alt="" coords="365,43,431,69"/>
<area shape="rect" href="load__file_8c.html#a2826c976bae07983300096521da284b4" title="为磁盘卸载文件系统" alt="" coords="353,93,443,118"/>
<area shape="rect" href="ui__update_8c.html#ad08f050acf50e741aaa931f61b7dc00f" title="列表内按钮回调" alt="" coords="355,142,441,167"/>
</map>
</div>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="ui__update_8c_a64ccaf85822f651235e20a08dfc2c500_icgraph.png" border="0" usemap="#aui__update_8c_a64ccaf85822f651235e20a08dfc2c500_icgraph" alt=""/></div>
<map name="aui__update_8c_a64ccaf85822f651235e20a08dfc2c500_icgraph" id="aui__update_8c_a64ccaf85822f651235e20a08dfc2c500_icgraph">
<area shape="rect" title="SD / USB Host 检测插入介质" alt="" coords="669,5,771,31"/>
<area shape="rect" href="ui__update_8c.html#ac4bb8b84a1ae2abc7bd0419c4345bca2" title="选择不同加载方式后, 由此函数执行分支跳转" alt="" coords="492,5,621,31"/>
<area shape="rect" href="ui__update_8c.html#a4b62aef18e10709cce125faee1b7dd52" title="文件管理器" alt="" coords="353,5,444,31"/>
<area shape="rect" href="ui__update_8c.html#aea66c53fcc188fefaa3470555db6aa05" title="启动 UI 引导加载界面, 挂载文件系统以实现 UI 素材导入/更新" alt="" coords="227,5,305,31"/>
<area shape="rect" href="main_8c.html#a8f1efe6291a27ae9b326f0c8a236c102" title="Go to User App Execute" alt="" coords="104,5,179,31"/>
<area shape="rect" href="main_8c.html#a840291bc02cba5474a4cb46a9b9566fe" title="C_Main" alt="" coords="5,5,56,31"/>
</map>
</div>

</div>
</div>
<a id="ad08f050acf50e741aaa931f61b7dc00f" name="ad08f050acf50e741aaa931f61b7dc00f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad08f050acf50e741aaa931f61b7dc00f">&#9670;&#160;</a></span>list_btn_cb()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void list_btn_cb </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structlist__dp__t.html">list_dp_t</a> *&#160;</td>
          <td class="paramname"><em>list_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">lv_obj_t *&#160;</td>
          <td class="paramname"><em>btn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">lv_obj_t *&#160;</td>
          <td class="paramname"><em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">lv_event_cb_t&#160;</td>
          <td class="paramname"><em>btn_cb</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>列表内按钮回调 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">list_data</td><td>: 列表目录/文件信息 </td></tr>
    <tr><td class="paramname">btn</td><td>: 被按下的按钮(列表内) </td></tr>
    <tr><td class="paramname">list</td><td>: 列表 </td></tr>
    <tr><td class="paramname">btn_cb</td><td>: 列表按钮事件回调 </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>返回值</dt><dd>
  <table class="retval">
    <tr><td class="paramname">/</td><td></td></tr>
  </table>
  </dd>
</dl>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l00773">773</a> 行定义.</p>
<div class="dynheader">
函数调用图:</div>
<div class="dyncontent">
<div class="center"><img src="ui__update_8c_ad08f050acf50e741aaa931f61b7dc00f_cgraph.png" border="0" usemap="#aui__update_8c_ad08f050acf50e741aaa931f61b7dc00f_cgraph" alt=""/></div>
<map name="aui__update_8c_ad08f050acf50e741aaa931f61b7dc00f_cgraph" id="aui__update_8c_ad08f050acf50e741aaa931f61b7dc00f_cgraph">
<area shape="rect" title="列表内按钮回调" alt="" coords="5,31,91,56"/>
<area shape="rect" href="ui__update_8c.html#a69a8fdfac59efe32394ac287d886ad88" title="文件过滤器(仅针对外置存储)" alt="" coords="139,5,245,31"/>
<area shape="rect" href="ui__update_8c.html#affa34b514b9ff8d1f0d4e1f92df3f221" title="在已打开的目录下, 进行非递归搜寻文件, 并在 list 上刷新显示(文件数量上限由用户指定)" alt="" coords="141,55,243,80"/>
</map>
</div>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="ui__update_8c_ad08f050acf50e741aaa931f61b7dc00f_icgraph.png" border="0" usemap="#aui__update_8c_ad08f050acf50e741aaa931f61b7dc00f_icgraph" alt=""/></div>
<map name="aui__update_8c_ad08f050acf50e741aaa931f61b7dc00f_icgraph" id="aui__update_8c_ad08f050acf50e741aaa931f61b7dc00f_icgraph">
<area shape="rect" title="列表内按钮回调" alt="" coords="1180,30,1265,56"/>
<area shape="rect" href="ui__update_8c.html#abed58d04a30c85fb2231dace9f928c23" title="列表内按钮" alt="" coords="981,30,1132,56"/>
<area shape="rect" href="ui__update_8c.html#a4b62aef18e10709cce125faee1b7dd52" title="文件管理器" alt="" coords="353,30,444,56"/>
<area shape="rect" href="ui__update_8c.html#aca1c2b29944838c9ab089bc024f238dc" title="列表外按钮点击翻页&#45;下一页" alt="" coords="800,23,933,63"/>
<area shape="rect" href="ui__update_8c.html#a64ccaf85822f651235e20a08dfc2c500" title="SD / USB Host 检测插入介质" alt="" coords="816,88,917,113"/>
<area shape="rect" href="ui__update_8c.html#aea66c53fcc188fefaa3470555db6aa05" title="启动 UI 引导加载界面, 挂载文件系统以实现 UI 素材导入/更新" alt="" coords="227,30,305,56"/>
<area shape="rect" href="main_8c.html#a8f1efe6291a27ae9b326f0c8a236c102" title="Go to User App Execute" alt="" coords="104,30,179,56"/>
<area shape="rect" href="main_8c.html#a840291bc02cba5474a4cb46a9b9566fe" title="C_Main" alt="" coords="5,30,56,56"/>
<area shape="rect" href="ui__update_8c.html#abdb62d45c4cace1544f52cdacda45f24" title="注册本页面具备事件回调的控件" alt="" coords="669,30,752,56"/>
<area shape="rect" href="ui__update_8c.html#a0914c8a5cdee556dcabd181982c81260" title="创建本页面所用控件布局" alt="" coords="499,30,614,56"/>
<area shape="rect" href="ui__update_8c.html#ac4bb8b84a1ae2abc7bd0419c4345bca2" title="选择不同加载方式后, 由此函数执行分支跳转" alt="" coords="492,80,621,105"/>
</map>
</div>

</div>
</div>
<a id="ab134d9ef6a82138c238684cb0af31fde" name="ab134d9ef6a82138c238684cb0af31fde"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab134d9ef6a82138c238684cb0af31fde">&#9670;&#160;</a></span>dp_event_handler()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void dp_event_handler </td>
          <td>(</td>
          <td class="paramtype">lv_obj_t *&#160;</td>
          <td class="paramname"><em>obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">lv_event_t&#160;</td>
          <td class="paramname"><em>event</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>下拉选择加载方式 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">obj</td><td>: 对象 </td></tr>
    <tr><td class="paramname">event</td><td>: 事件 </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>返回值</dt><dd>
  <table class="retval">
    <tr><td class="paramname">/</td><td></td></tr>
  </table>
  </dd>
</dl>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l00862">862</a> 行定义.</p>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="ui__update_8c_ab134d9ef6a82138c238684cb0af31fde_icgraph.png" border="0" usemap="#aui__update_8c_ab134d9ef6a82138c238684cb0af31fde_icgraph" alt=""/></div>
<map name="aui__update_8c_ab134d9ef6a82138c238684cb0af31fde_icgraph" id="aui__update_8c_ab134d9ef6a82138c238684cb0af31fde_icgraph">
<area shape="rect" title="下拉选择加载方式" alt="" coords="785,5,908,31"/>
<area shape="rect" href="ui__update_8c.html#abdb62d45c4cace1544f52cdacda45f24" title="注册本页面具备事件回调的控件" alt="" coords="655,5,737,31"/>
<area shape="rect" href="ui__update_8c.html#a0914c8a5cdee556dcabd181982c81260" title="创建本页面所用控件布局" alt="" coords="492,5,607,31"/>
<area shape="rect" href="ui__update_8c.html#a4b62aef18e10709cce125faee1b7dd52" title="文件管理器" alt="" coords="353,5,444,31"/>
<area shape="rect" href="ui__update_8c.html#aea66c53fcc188fefaa3470555db6aa05" title="启动 UI 引导加载界面, 挂载文件系统以实现 UI 素材导入/更新" alt="" coords="227,5,305,31"/>
<area shape="rect" href="main_8c.html#a8f1efe6291a27ae9b326f0c8a236c102" title="Go to User App Execute" alt="" coords="104,5,179,31"/>
<area shape="rect" href="main_8c.html#a840291bc02cba5474a4cb46a9b9566fe" title="C_Main" alt="" coords="5,5,56,31"/>
</map>
</div>

</div>
</div>
<a id="a797b333b12a40decb2c24f829053576e" name="a797b333b12a40decb2c24f829053576e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a797b333b12a40decb2c24f829053576e">&#9670;&#160;</a></span>btn_event_handler()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void btn_event_handler </td>
          <td>(</td>
          <td class="paramtype">lv_obj_t *&#160;</td>
          <td class="paramname"><em>obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">lv_event_t&#160;</td>
          <td class="paramname"><em>event</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>独立功能按钮 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">obj</td><td>: 对象 </td></tr>
    <tr><td class="paramname">event</td><td>: 事件 </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>返回值</dt><dd>
  <table class="retval">
    <tr><td class="paramname">/</td><td></td></tr>
  </table>
  </dd>
</dl>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l00906">906</a> 行定义.</p>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="ui__update_8c_a797b333b12a40decb2c24f829053576e_icgraph.png" border="0" usemap="#aui__update_8c_a797b333b12a40decb2c24f829053576e_icgraph" alt=""/></div>
<map name="aui__update_8c_a797b333b12a40decb2c24f829053576e_icgraph" id="aui__update_8c_a797b333b12a40decb2c24f829053576e_icgraph">
<area shape="rect" title="独立功能按钮" alt="" coords="785,5,912,31"/>
<area shape="rect" href="ui__update_8c.html#abdb62d45c4cace1544f52cdacda45f24" title="注册本页面具备事件回调的控件" alt="" coords="655,5,737,31"/>
<area shape="rect" href="ui__update_8c.html#a0914c8a5cdee556dcabd181982c81260" title="创建本页面所用控件布局" alt="" coords="492,5,607,31"/>
<area shape="rect" href="ui__update_8c.html#a4b62aef18e10709cce125faee1b7dd52" title="文件管理器" alt="" coords="353,5,444,31"/>
<area shape="rect" href="ui__update_8c.html#aea66c53fcc188fefaa3470555db6aa05" title="启动 UI 引导加载界面, 挂载文件系统以实现 UI 素材导入/更新" alt="" coords="227,5,305,31"/>
<area shape="rect" href="main_8c.html#a8f1efe6291a27ae9b326f0c8a236c102" title="Go to User App Execute" alt="" coords="104,5,179,31"/>
<area shape="rect" href="main_8c.html#a840291bc02cba5474a4cb46a9b9566fe" title="C_Main" alt="" coords="5,5,56,31"/>
</map>
</div>

</div>
</div>
<a id="aca1c2b29944838c9ab089bc024f238dc" name="aca1c2b29944838c9ab089bc024f238dc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aca1c2b29944838c9ab089bc024f238dc">&#9670;&#160;</a></span>list_btn_next_event_handler()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void list_btn_next_event_handler </td>
          <td>(</td>
          <td class="paramtype">lv_obj_t *&#160;</td>
          <td class="paramname"><em>obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">lv_event_t&#160;</td>
          <td class="paramname"><em>event</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>列表外按钮点击翻页-下一页 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">obj</td><td>: 对象 </td></tr>
    <tr><td class="paramname">event</td><td>: 事件 </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>返回值</dt><dd>
  <table class="retval">
    <tr><td class="paramname">/</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>注解</dt><dd>上一页功能按钮未实现 </dd></dl>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l00953">953</a> 行定义.</p>
<div class="dynheader">
函数调用图:</div>
<div class="dyncontent">
<div class="center"><img src="ui__update_8c_aca1c2b29944838c9ab089bc024f238dc_cgraph.png" border="0" usemap="#aui__update_8c_aca1c2b29944838c9ab089bc024f238dc_cgraph" alt=""/></div>
<map name="aui__update_8c_aca1c2b29944838c9ab089bc024f238dc_cgraph" id="aui__update_8c_aca1c2b29944838c9ab089bc024f238dc_cgraph">
<area shape="rect" title="列表外按钮点击翻页&#45;下一页" alt="" coords="5,46,139,86"/>
<area shape="rect" href="ui__update_8c.html#a69a8fdfac59efe32394ac287d886ad88" title="文件过滤器(仅针对外置存储)" alt="" coords="519,29,625,55"/>
<area shape="rect" href="ui__update_8c.html#abed58d04a30c85fb2231dace9f928c23" title="列表内按钮" alt="" coords="187,53,337,79"/>
<area shape="rect" href="ui__update_8c.html#affa34b514b9ff8d1f0d4e1f92df3f221" title="在已打开的目录下, 进行非递归搜寻文件, 并在 list 上刷新显示(文件数量上限由用户指定)" alt="" coords="521,79,623,104"/>
<area shape="rect" href="ui__update_8c.html#ad08f050acf50e741aaa931f61b7dc00f" title="列表内按钮回调" alt="" coords="385,53,471,79"/>
</map>
</div>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="ui__update_8c_aca1c2b29944838c9ab089bc024f238dc_icgraph.png" border="0" usemap="#aui__update_8c_aca1c2b29944838c9ab089bc024f238dc_icgraph" alt=""/></div>
<map name="aui__update_8c_aca1c2b29944838c9ab089bc024f238dc_icgraph" id="aui__update_8c_aca1c2b29944838c9ab089bc024f238dc_icgraph">
<area shape="rect" title="列表外按钮点击翻页&#45;下一页" alt="" coords="785,5,919,45"/>
<area shape="rect" href="ui__update_8c.html#abdb62d45c4cace1544f52cdacda45f24" title="注册本页面具备事件回调的控件" alt="" coords="655,13,737,38"/>
<area shape="rect" href="ui__update_8c.html#a0914c8a5cdee556dcabd181982c81260" title="创建本页面所用控件布局" alt="" coords="492,13,607,38"/>
<area shape="rect" href="ui__update_8c.html#a4b62aef18e10709cce125faee1b7dd52" title="文件管理器" alt="" coords="353,13,444,38"/>
<area shape="rect" href="ui__update_8c.html#aea66c53fcc188fefaa3470555db6aa05" title="启动 UI 引导加载界面, 挂载文件系统以实现 UI 素材导入/更新" alt="" coords="227,13,305,38"/>
<area shape="rect" href="main_8c.html#a8f1efe6291a27ae9b326f0c8a236c102" title="Go to User App Execute" alt="" coords="104,13,179,38"/>
<area shape="rect" href="main_8c.html#a840291bc02cba5474a4cb46a9b9566fe" title="C_Main" alt="" coords="5,13,56,38"/>
</map>
</div>

</div>
</div>
<a id="abdb62d45c4cace1544f52cdacda45f24" name="abdb62d45c4cace1544f52cdacda45f24"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abdb62d45c4cace1544f52cdacda45f24">&#9670;&#160;</a></span>events_init()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void events_init </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structlv__ui.html">lv_ui</a> *&#160;</td>
          <td class="paramname"><em>ui</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>注册本页面具备事件回调的控件 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">ui</td><td>: 页面 </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>返回值</dt><dd>
  <table class="retval">
    <tr><td class="paramname">/</td><td></td></tr>
  </table>
  </dd>
</dl>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l00973">973</a> 行定义.</p>
<div class="dynheader">
函数调用图:</div>
<div class="dyncontent">
<div class="center"><img src="ui__update_8c_abdb62d45c4cace1544f52cdacda45f24_cgraph.png" border="0" usemap="#aui__update_8c_abdb62d45c4cace1544f52cdacda45f24_cgraph" alt=""/></div>
<map name="aui__update_8c_abdb62d45c4cace1544f52cdacda45f24_cgraph" id="aui__update_8c_abdb62d45c4cace1544f52cdacda45f24_cgraph">
<area shape="rect" title="注册本页面具备事件回调的控件" alt="" coords="5,55,88,80"/>
<area shape="rect" href="ui__update_8c.html#a797b333b12a40decb2c24f829053576e" title="独立功能按钮" alt="" coords="139,5,266,31"/>
<area shape="rect" href="ui__update_8c.html#ab134d9ef6a82138c238684cb0af31fde" title="下拉选择加载方式" alt="" coords="141,55,264,80"/>
<area shape="rect" href="ui__update_8c.html#aca1c2b29944838c9ab089bc024f238dc" title="列表外按钮点击翻页&#45;下一页" alt="" coords="136,105,269,145"/>
<area shape="rect" href="ui__update_8c.html#a69a8fdfac59efe32394ac287d886ad88" title="文件过滤器(仅针对外置存储)" alt="" coords="649,88,756,113"/>
<area shape="rect" href="ui__update_8c.html#abed58d04a30c85fb2231dace9f928c23" title="列表内按钮" alt="" coords="317,112,468,137"/>
<area shape="rect" href="ui__update_8c.html#affa34b514b9ff8d1f0d4e1f92df3f221" title="在已打开的目录下, 进行非递归搜寻文件, 并在 list 上刷新显示(文件数量上限由用户指定)" alt="" coords="652,137,753,163"/>
<area shape="rect" href="ui__update_8c.html#ad08f050acf50e741aaa931f61b7dc00f" title="列表内按钮回调" alt="" coords="516,112,601,137"/>
</map>
</div>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="ui__update_8c_abdb62d45c4cace1544f52cdacda45f24_icgraph.png" border="0" usemap="#aui__update_8c_abdb62d45c4cace1544f52cdacda45f24_icgraph" alt=""/></div>
<map name="aui__update_8c_abdb62d45c4cace1544f52cdacda45f24_icgraph" id="aui__update_8c_abdb62d45c4cace1544f52cdacda45f24_icgraph">
<area shape="rect" title="注册本页面具备事件回调的控件" alt="" coords="655,5,737,31"/>
<area shape="rect" href="ui__update_8c.html#a0914c8a5cdee556dcabd181982c81260" title="创建本页面所用控件布局" alt="" coords="492,5,607,31"/>
<area shape="rect" href="ui__update_8c.html#a4b62aef18e10709cce125faee1b7dd52" title="文件管理器" alt="" coords="353,5,444,31"/>
<area shape="rect" href="ui__update_8c.html#aea66c53fcc188fefaa3470555db6aa05" title="启动 UI 引导加载界面, 挂载文件系统以实现 UI 素材导入/更新" alt="" coords="227,5,305,31"/>
<area shape="rect" href="main_8c.html#a8f1efe6291a27ae9b326f0c8a236c102" title="Go to User App Execute" alt="" coords="104,5,179,31"/>
<area shape="rect" href="main_8c.html#a840291bc02cba5474a4cb46a9b9566fe" title="C_Main" alt="" coords="5,5,56,31"/>
</map>
</div>

</div>
</div>
<a id="ad8390d39022fee758b6fb860c7906382" name="ad8390d39022fee758b6fb860c7906382"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad8390d39022fee758b6fb860c7906382">&#9670;&#160;</a></span>msgbox_event_cb()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void msgbox_event_cb </td>
          <td>(</td>
          <td class="paramtype">lv_obj_t *&#160;</td>
          <td class="paramname"><em>obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">lv_event_t&#160;</td>
          <td class="paramname"><em>event</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>消息框事件回调 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">obj</td><td>: 对象 </td></tr>
    <tr><td class="paramname">event</td><td>: 事件 </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>返回值</dt><dd>
  <table class="retval">
    <tr><td class="paramname">/</td><td></td></tr>
  </table>
  </dd>
</dl>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l01155">1155</a> 行定义.</p>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="ui__update_8c_ad8390d39022fee758b6fb860c7906382_icgraph.png" border="0" usemap="#aui__update_8c_ad8390d39022fee758b6fb860c7906382_icgraph" alt=""/></div>
<map name="aui__update_8c_ad8390d39022fee758b6fb860c7906382_icgraph" id="aui__update_8c_ad8390d39022fee758b6fb860c7906382_icgraph">
<area shape="rect" title="消息框事件回调" alt="" coords="823,56,949,81"/>
<area shape="rect" href="ui__update_8c.html#af7291cda4b568af469eecf3fbf3a7094" title="消息框弹出提示" alt="" coords="669,56,775,81"/>
<area shape="rect" href="ui__update_8c.html#a3dbd73c82f05a5370635333b5ed68aea" title="点击不同的按钮后, 由此函数执行对应动作" alt="" coords="509,5,604,31"/>
<area shape="rect" href="ui__update_8c.html#a4b62aef18e10709cce125faee1b7dd52" title="文件管理器" alt="" coords="353,56,444,81"/>
<area shape="rect" href="ui__update_8c.html#ac4bb8b84a1ae2abc7bd0419c4345bca2" title="选择不同加载方式后, 由此函数执行分支跳转" alt="" coords="492,107,621,132"/>
<area shape="rect" href="ui__update_8c.html#aea66c53fcc188fefaa3470555db6aa05" title="启动 UI 引导加载界面, 挂载文件系统以实现 UI 素材导入/更新" alt="" coords="227,56,305,81"/>
<area shape="rect" href="main_8c.html#a8f1efe6291a27ae9b326f0c8a236c102" title="Go to User App Execute" alt="" coords="104,56,179,81"/>
<area shape="rect" href="main_8c.html#a840291bc02cba5474a4cb46a9b9566fe" title="C_Main" alt="" coords="5,56,56,81"/>
</map>
</div>

</div>
</div>
<a id="a623d03af25d3abe9fbe311d24d57ca28" name="a623d03af25d3abe9fbe311d24d57ca28"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a623d03af25d3abe9fbe311d24d57ca28">&#9670;&#160;</a></span>msgbox_sync_task()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void msgbox_sync_task </td>
          <td>(</td>
          <td class="paramtype">lv_task_t *&#160;</td>
          <td class="paramname"><em>t</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>消息框弹出期间的同步任务 </p>
<dl class="params"><dt>参数</dt><dd>
  <table class="params">
    <tr><td class="paramname">t</td><td>: 任务句柄 </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>返回值</dt><dd>
  <table class="retval">
    <tr><td class="paramname">/</td><td></td></tr>
  </table>
  </dd>
</dl>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l01177">1177</a> 行定义.</p>
<div class="dynheader">
这是这个函数的调用关系图:</div>
<div class="dyncontent">
<div class="center"><img src="ui__update_8c_a623d03af25d3abe9fbe311d24d57ca28_icgraph.png" border="0" usemap="#aui__update_8c_a623d03af25d3abe9fbe311d24d57ca28_icgraph" alt=""/></div>
<map name="aui__update_8c_a623d03af25d3abe9fbe311d24d57ca28_icgraph" id="aui__update_8c_a623d03af25d3abe9fbe311d24d57ca28_icgraph">
<area shape="rect" title="消息框弹出期间的同步任务" alt="" coords="823,56,957,81"/>
<area shape="rect" href="ui__update_8c.html#af7291cda4b568af469eecf3fbf3a7094" title="消息框弹出提示" alt="" coords="669,56,775,81"/>
<area shape="rect" href="ui__update_8c.html#a3dbd73c82f05a5370635333b5ed68aea" title="点击不同的按钮后, 由此函数执行对应动作" alt="" coords="509,5,604,31"/>
<area shape="rect" href="ui__update_8c.html#a4b62aef18e10709cce125faee1b7dd52" title="文件管理器" alt="" coords="353,56,444,81"/>
<area shape="rect" href="ui__update_8c.html#ac4bb8b84a1ae2abc7bd0419c4345bca2" title="选择不同加载方式后, 由此函数执行分支跳转" alt="" coords="492,107,621,132"/>
<area shape="rect" href="ui__update_8c.html#aea66c53fcc188fefaa3470555db6aa05" title="启动 UI 引导加载界面, 挂载文件系统以实现 UI 素材导入/更新" alt="" coords="227,56,305,81"/>
<area shape="rect" href="main_8c.html#a8f1efe6291a27ae9b326f0c8a236c102" title="Go to User App Execute" alt="" coords="104,56,179,81"/>
<area shape="rect" href="main_8c.html#a840291bc02cba5474a4cb46a9b9566fe" title="C_Main" alt="" coords="5,56,56,81"/>
</map>
</div>

</div>
</div>
<h2 class="groupheader">变量说明</h2>
<a id="a8146347161af60be85eba1ea595d94b4" name="a8146347161af60be85eba1ea595d94b4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8146347161af60be85eba1ea595d94b4">&#9670;&#160;</a></span>Dir_Ch</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char Dir_Ch = '/'</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>目录标识符 </p>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l00166">166</a> 行定义.</p>

</div>
</div>
<a id="a0f600edde0d29f18851c4f5de5a9fc3d" name="a0f600edde0d29f18851c4f5de5a9fc3d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f600edde0d29f18851c4f5de5a9fc3d">&#9670;&#160;</a></span>Dot_Ch</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char Dot_Ch = '.'</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>文件名后缀 </p>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l00167">167</a> 行定义.</p>

</div>
</div>
<a id="abd8caa3698afa6b173633a32e0d36ec4" name="abd8caa3698afa6b173633a32e0d36ec4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abd8caa3698afa6b173633a32e0d36ec4">&#9670;&#160;</a></span>Back_Str</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char* const Back_Str = &quot;...&quot;</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>返回上一级目录显示标志 </p>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l00168">168</a> 行定义.</p>

</div>
</div>
<a id="a58399acf1b4e32d79c4971de38e1dc42" name="a58399acf1b4e32d79c4971de38e1dc42"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a58399acf1b4e32d79c4971de38e1dc42">&#9670;&#160;</a></span>Guidance_Notes</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char* const Guidance_Notes = &quot;File Manager&quot;</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>简单介绍 </p>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l00171">171</a> 行定义.</p>

</div>
</div>
<a id="a6b9762fb44e1c11b05dd4384e004ee16" name="a6b9762fb44e1c11b05dd4384e004ee16"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6b9762fb44e1c11b05dd4384e004ee16">&#9670;&#160;</a></span>Way_Text</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char* const Way_Text[<a class="el" href="ui__update_8c.html#ad868081ac7c8daf0af3995fdc3b940b2ae4c3097bd87be672f365e2e5802667ac">_WAY_MAX_</a>]</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<b>初始值:</b><div class="fragment"><div class="line">= {</div>
<div class="line">    <span class="stringliteral">&quot;SD&quot;</span>,</div>
<div class="line">    <span class="stringliteral">&quot;USB_H&quot;</span>,</div>
<div class="line">    <span class="stringliteral">&quot;USB_PC&quot;</span></div>
<div class="line">}</div>
</div><!-- fragment -->
<p>下拉列表的选项文本 </p>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l00174">174</a> 行定义.</p>

</div>
</div>
<a id="a4ffa04991f0097ff752c1938c60dc6f0" name="a4ffa04991f0097ff752c1938c60dc6f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ffa04991f0097ff752c1938c60dc6f0">&#9670;&#160;</a></span>Btn_Text</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char* const Btn_Text[<a class="el" href="ui__update_8c.html#a79ab4c3b25e5db481221a48f8c8f89e0a5a286a5118e9f16961d315021d46d3b3">_BTN_MAX_</a>]</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<b>初始值:</b><div class="fragment"><div class="line">= {</div>
<div class="line">    <span class="stringliteral">&quot;List&quot;</span>,</div>
<div class="line">    <span class="stringliteral">&quot;ALL&quot;</span>,</div>
<div class="line">    <span class="stringliteral">&quot;DFU&quot;</span></div>
<div class="line">}</div>
</div><!-- fragment -->
<p>按钮文本 </p>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l00181">181</a> 行定义.</p>

</div>
</div>
<a id="a5af441434574979c5408785942ab0ea8" name="a5af441434574979c5408785942ab0ea8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5af441434574979c5408785942ab0ea8">&#9670;&#160;</a></span>List_File_Max_Num</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const uint16_t List_File_Max_Num = 10</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>单页文件数量显示上限 </p>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l00188">188</a> 行定义.</p>

</div>
</div>
<a id="a06264759c9982089ba92c1d631969196" name="a06264759c9982089ba92c1d631969196"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a06264759c9982089ba92c1d631969196">&#9670;&#160;</a></span>MsgBox_Wait_Ms</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const uint32_t MsgBox_Wait_Ms = 6666</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>msgbox 弹窗消息提示显示时长 </p>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l00191">191</a> 行定义.</p>

</div>
</div>
<a id="aa7b512a01b08ac958f4e505fb0c502bf" name="aa7b512a01b08ac958f4e505fb0c502bf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa7b512a01b08ac958f4e505fb0c502bf">&#9670;&#160;</a></span>UI</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structlv__ui.html">lv_ui</a> UI</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>文件列表管理页 </p>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l00197">197</a> 行定义.</p>

</div>
</div>
<a id="a527b235543e81472134d70bf86683ec7" name="a527b235543e81472134d70bf86683ec7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a527b235543e81472134d70bf86683ec7">&#9670;&#160;</a></span>LL_File</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">lv_ll_t LL_File</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>文件列表管理页被选中的文件名链表 </p>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l00200">200</a> 行定义.</p>

</div>
</div>
<a id="abfff7dba43982483ca07edad75ab3eee" name="abfff7dba43982483ca07edad75ab3eee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abfff7dba43982483ca07edad75ab3eee">&#9670;&#160;</a></span>List_Info</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structlist__dp__t.html">list_dp_t</a> List_Info[<a class="el" href="ui__update_8c.html#a6b977a7742ea0138c283b98d7f072a61aa7dadc373d1293a6252806d1c1219d6a">_LIST_MAX_</a>]</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<b>初始值:</b><div class="fragment"><div class="line">= {</div>
<div class="line">    {.disk = (<a class="code hl_define" href="version_8h.html#a737744852bdd23458f08a934778043a9">SWM34S_LCM_PCBV</a> == <a class="code hl_define" href="version_8h.html#a190e24ed4405f51a3099593ea97afb23">SWM34SCE_PIN48_A2</a>) ? <a class="code hl_enumvalue" href="load__file_8h.html#a44edb5dd69763758dda6af4dd162c997a65f6b55fdc64778bf10632a795b97761">USB</a> : <a class="code hl_enumvalue" href="load__file_8h.html#a44edb5dd69763758dda6af4dd162c997a8268cafd51299d814aba050e5f54f1ac">SD</a>},</div>
<div class="line">    {.disk = <a class="code hl_enumvalue" href="load__file_8h.html#a44edb5dd69763758dda6af4dd162c997aefea9eb0772378037221a3f1fe759a76">SPI</a>}</div>
<div class="line">}</div>
<div class="ttc" id="aload__file_8h_html_a44edb5dd69763758dda6af4dd162c997a65f6b55fdc64778bf10632a795b97761"><div class="ttname"><a href="load__file_8h.html#a44edb5dd69763758dda6af4dd162c997a65f6b55fdc64778bf10632a795b97761">USB</a></div><div class="ttdeci">@ USB</div><div class="ttdoc">U盘( Full / Low - Speed )</div><div class="ttdef"><b>Definition:</b> <a href="load__file_8h_source.html#l00044">load_file.h:44</a></div></div>
<div class="ttc" id="aload__file_8h_html_a44edb5dd69763758dda6af4dd162c997a8268cafd51299d814aba050e5f54f1ac"><div class="ttname"><a href="load__file_8h.html#a44edb5dd69763758dda6af4dd162c997a8268cafd51299d814aba050e5f54f1ac">SD</a></div><div class="ttdeci">@ SD</div><div class="ttdoc">SD-TF卡(2 ~ 32 GB)</div><div class="ttdef"><b>Definition:</b> <a href="load__file_8h_source.html#l00043">load_file.h:43</a></div></div>
<div class="ttc" id="aload__file_8h_html_a44edb5dd69763758dda6af4dd162c997aefea9eb0772378037221a3f1fe759a76"><div class="ttname"><a href="load__file_8h.html#a44edb5dd69763758dda6af4dd162c997aefea9eb0772378037221a3f1fe759a76">SPI</a></div><div class="ttdeci">@ SPI</div><div class="ttdoc">SPI-Flash</div><div class="ttdef"><b>Definition:</b> <a href="load__file_8h_source.html#l00042">load_file.h:42</a></div></div>
<div class="ttc" id="aversion_8h_html_a190e24ed4405f51a3099593ea97afb23"><div class="ttname"><a href="version_8h.html#a190e24ed4405f51a3099593ea97afb23">SWM34SCE_PIN48_A2</a></div><div class="ttdeci">#define SWM34SCE_PIN48_A2</div><div class="ttdoc">SWM34SCET6_A2 - Demo板</div><div class="ttdef"><b>Definition:</b> <a href="version_8h_source.html#l00083">version.h:83</a></div></div>
<div class="ttc" id="aversion_8h_html_a737744852bdd23458f08a934778043a9"><div class="ttname"><a href="version_8h.html#a737744852bdd23458f08a934778043a9">SWM34S_LCM_PCBV</a></div><div class="ttdeci">#define SWM34S_LCM_PCBV</div><div class="ttdoc">(用户必须设置)请根据实际使用的官方 Demo 板 PCB 丝印选择对应型号</div><div class="ttdef"><b>Definition:</b> <a href="version_8h_source.html#l00089">version.h:89</a></div></div>
</div><!-- fragment -->
<p>文件列表管理页中的当前目录路径 </p>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l00203">203</a> 行定义.</p>

</div>
</div>
<a id="af3e1747368f8a109619463c937c3f597" name="af3e1747368f8a109619463c937c3f597"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af3e1747368f8a109619463c937c3f597">&#9670;&#160;</a></span>Select_Way</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ui__update_8c.html#ad868081ac7c8daf0af3995fdc3b940b2">way_t</a> Select_Way = (<a class="el" href="version_8h.html#a737744852bdd23458f08a934778043a9">SWM34S_LCM_PCBV</a> == <a class="el" href="version_8h.html#a190e24ed4405f51a3099593ea97afb23">SWM34SCE_PIN48_A2</a>) ? <a class="el" href="ui__update_8c.html#ad868081ac7c8daf0af3995fdc3b940b2a7da97547825333c89d5835511c00e334">WAY_USB_H</a> : <a class="el" href="ui__update_8c.html#ad868081ac7c8daf0af3995fdc3b940b2a438765e1f3129ec9a15a3750f85ba17c">WAY_SD</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>文件列表管理页中下拉列表所选中的加载方式 </p>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l00209">209</a> 行定义.</p>

</div>
</div>
<a id="a6e87ff056d14d5037f88d7299434bffb" name="a6e87ff056d14d5037f88d7299434bffb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6e87ff056d14d5037f88d7299434bffb">&#9670;&#160;</a></span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum  { ... }  Boot_Select</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>开机弹窗选择项 </p>

</div>
</div>
<a id="a50ade5308cd9daf421ac0c8a6f6c1f82" name="a50ade5308cd9daf421ac0c8a6f6c1f82"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a50ade5308cd9daf421ac0c8a6f6c1f82">&#9670;&#160;</a></span>File_Explorer_Flag</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">volatile <a class="el" href="ui__update_8c.html#a79ab4c3b25e5db481221a48f8c8f89e0">btn_jump_t</a> File_Explorer_Flag = <a class="el" href="ui__update_8c.html#a79ab4c3b25e5db481221a48f8c8f89e0a5a286a5118e9f16961d315021d46d3b3">_BTN_MAX_</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>文件列表管理器跳出标志 <em>BTN_MAX</em> : Default BTN_LIST : List (对移动磁盘列表中已被点击的文件 更新拷贝至 本地磁盘 ) BTN_ALL : ALL (在移动磁盘列表 &lt;根目录&gt; 下按 程序素材文件表 进行全拷贝至 本地磁盘 ) BTN_DFU : DFU (Device Firmware Update - 设备固件更新, 更新目标为移动磁盘列表中已被点击的文件&lt;只能为一个&gt;) </p>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l00225">225</a> 行定义.</p>

</div>
</div>
<a id="a47e8d86c60ab3a72467fd0f33dc1605d" name="a47e8d86c60ab3a72467fd0f33dc1605d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a47e8d86c60ab3a72467fd0f33dc1605d">&#9670;&#160;</a></span>MsgBox</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">lv_obj_t* MsgBox = NULL</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>消息框弹出提示控件对象 </p>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l01141">1141</a> 行定义.</p>

</div>
</div>
<a id="a8128c131b645e18776b40c38bb63e287" name="a8128c131b645e18776b40c38bb63e287"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8128c131b645e18776b40c38bb63e287">&#9670;&#160;</a></span>MsgBox_Task</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">lv_task_t* MsgBox_Task = NULL</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>消息框弹出期间同步执行的任务句柄 </p>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l01144">1144</a> 行定义.</p>

</div>
</div>
<a id="a06caa66df343f9a30e16817c7c533e60" name="a06caa66df343f9a30e16817c7c533e60"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a06caa66df343f9a30e16817c7c533e60">&#9670;&#160;</a></span>MsgBox_Sync_Flag</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">volatile uint8_t MsgBox_Sync_Flag = 0</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>消息框与任务之间的同步标志(0-状态同步 1-状态异步改变) </p>

<p class="definition">在文件 <a class="el" href="ui__update_8c_source.html">ui_update.c</a> 第 <a class="el" href="ui__update_8c_source.html#l01147">1147</a> 行定义.</p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
制作者&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5
</small></address>
</body>
</html>
